add filter and search employee request
This commit is contained in:
parent
7c63c9aa0e
commit
cab395c7ce
|
|
@ -878,9 +878,10 @@ msgid "Lateness"
|
|||
msgstr "التأخيرات"
|
||||
|
||||
#. module: attendances
|
||||
#: model:ir.actions.act_window,name:attendances.hr_lateness_reasons_action
|
||||
#: model:ir.ui.menu,name:attendances.employee_lateness_reasons_menu_item
|
||||
msgid "Lateness Reasons"
|
||||
msgstr "أسباب التأخير والخروج"
|
||||
msgid "Lateness/Exit Reasons"
|
||||
msgstr "تبرير التأخير والخروج"
|
||||
|
||||
#. module: attendances
|
||||
#: model:ir.ui.menu,name:attendances.employee_lateness_absence_overtime_menu_item
|
||||
|
|
@ -1792,11 +1793,6 @@ msgstr "التأخيرات"
|
|||
msgid "lateness Date"
|
||||
msgstr "تاريخ التأخير"
|
||||
|
||||
#. module: attendances
|
||||
#: model:ir.actions.act_window,name:attendances.hr_lateness_reasons_action
|
||||
msgid "lateness Reasons"
|
||||
msgstr "أسباب التأخير والخروج"
|
||||
|
||||
#. module: attendances
|
||||
#: code:addons/attendances/models/hr_attendance.py:0
|
||||
#, python-format
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<odoo>
|
||||
<data>
|
||||
<record model="ir.actions.act_window" id="hr_lateness_reasons_action">
|
||||
<field name="name">lateness Reasons</field>
|
||||
<field name="name">Lateness/Exit Reasons</field>
|
||||
<field name="res_model">hr.reasons.lateness</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
|
||||
<record model="ir.ui.view" id="employee_lateness_reasons_form_view">
|
||||
<field name="name">Lateness Reasons</field>
|
||||
<field name="name">Lateness/Exit Reasons</field>
|
||||
<field name="model">hr.reasons.lateness</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
|
|
|
|||
|
|
@ -920,6 +920,10 @@ msgstr "تاريخ تسليم العمل"
|
|||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_effective_form_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.hr_clearance_form_filter
|
||||
#, python-format
|
||||
msgid "Department"
|
||||
msgstr "الهيكل الإداري"
|
||||
|
|
@ -1131,10 +1135,24 @@ msgid "Emp No."
|
|||
msgstr "رقم الموظف"
|
||||
|
||||
#. module: attendances
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_employee_overtime_request__employee_no
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_form_view
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_employee_other_request__employee_no
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_form_view
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_hr_personal_permission__employee_no
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_form_view
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_employee_effective_form__employee_no
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_form_view
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_hr_clearance_form__employee_no
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_clearance_form_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_clearance_form_tree_view
|
||||
msgid "Employee Number"
|
||||
msgstr "رقم الموظف"
|
||||
|
||||
|
|
@ -1149,6 +1167,11 @@ msgstr "رقم الموظف"
|
|||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_request_effective_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_department_jobs_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_effective_form_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.hr_clearance_form_filter
|
||||
msgid "Employee"
|
||||
msgstr "الموظف"
|
||||
|
||||
|
|
@ -2454,13 +2477,11 @@ msgstr "مدير المشروع :"
|
|||
|
||||
#. module: employee_requests
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_employee_department_jobs__promotion_type
|
||||
msgid "Promotion Type"
|
||||
msgstr "نوع الاجراء"
|
||||
|
||||
#. module: employee_requests
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_department_jobs_form_view
|
||||
msgid "Promotion type"
|
||||
msgstr "نوع الاجراء"
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_department_jobs_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_department_jobs_filter
|
||||
msgid "Promotion Type"
|
||||
msgstr "نوع الإجراء"
|
||||
|
||||
#. module: employee_requests
|
||||
#: code:addons/employee_requests/models/other_request.py:0
|
||||
|
|
@ -3832,3 +3853,10 @@ msgstr "بدون راتب"
|
|||
msgid "My Permissions"
|
||||
msgstr "إستئذاناتي"
|
||||
|
||||
#. module: employee_requests
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_overtime_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_other_request_filter
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_department_jobs_filter
|
||||
msgid "My Requests"
|
||||
msgstr "طلبـاتي"
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ class EmployeeDepartmentJobs(models.Model):
|
|||
|
||||
# relational fields
|
||||
employee_id = fields.Many2one(comodel_name="hr.employee", tracking=True, domain=[('state', '=', 'open')])
|
||||
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
|
||||
# old_department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id')
|
||||
old_department_2_id = fields.Many2one(comodel_name='hr.department')
|
||||
# old_job_id = fields.Many2one(comodel_name='hr.job', related='employee_id.job_id')
|
||||
|
|
|
|||
|
|
@ -11,11 +11,12 @@ class EmployeeEffectiveForm(models.Model):
|
|||
contract_id = fields.Many2one(related='employee_id.contract_id', readonly=True, string='Contract')
|
||||
|
||||
job_id = fields.Many2one(related='employee_id.job_id', readonly=True)
|
||||
department_id = fields.Many2one(related='employee_id.department_id', readonly=True)
|
||||
department_id = fields.Many2one(related='employee_id.department_id', readonly=True, store=True)
|
||||
employee_salary = fields.Float(related='employee_id.contract_id.salary', readonly=True, tracking=True)
|
||||
remarks = fields.Text()
|
||||
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id(),
|
||||
domain=[('state', '=', 'open')])
|
||||
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
|
||||
|
||||
effective_form_type = fields.Selection([('first_tim_job', _('First Time Job')),
|
||||
('return_from_leave', _('Return From Leave'))], default="first_tim_job")
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class employee_overtime_request(models.Model):
|
|||
department_id = fields.Many2one('hr.department')
|
||||
employee_id = fields.Many2one('hr.employee', 'Responsible', default=lambda item: item.get_user_id(),
|
||||
domain=[('state', '=', 'open')])
|
||||
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
|
||||
exception = fields.Boolean(string="Exception Hours", default=False,
|
||||
help='Exceeding The Limit Of Overtime Hours Per Month')
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,10 @@ class HrClearanceForm(models.Model):
|
|||
date = fields.Date(default=lambda self: fields.Date.today())
|
||||
date_deliver_work = fields.Date()
|
||||
job_id = fields.Many2one(related='employee_id.job_id', readonly=True)
|
||||
department_id = fields.Many2one(related='employee_id.department_id', readonly=True)
|
||||
department_id = fields.Many2one(related='employee_id.department_id', readonly=True, store=True)
|
||||
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id(),
|
||||
domain=[('state', '=', 'open')])
|
||||
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
|
||||
|
||||
clearance_type = fields.Selection(selection=[("vacation", _("Vacation Clearance")),
|
||||
("final", _("Final Clearance"))], default='final')
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ class EmployeeOtherRequest(models.Model):
|
|||
# relational fields
|
||||
employee_id = fields.Many2one('hr.employee', default=lambda item: item.get_user_id(),
|
||||
domain=[('state', '=', 'open')])
|
||||
department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id', readonly=True)
|
||||
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
|
||||
department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id', readonly=True,store=True)
|
||||
job_id = fields.Many2one(comodel_name='hr.job', related='employee_id.job_id', readonly=True)
|
||||
contract_statuss = fields.Selection(related='employee_id.contract_id.contract_status', readonly=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">employee.department.jobs</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name= "context">{"search_default_my_request":1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Employee Departments and jobs
|
||||
|
|
@ -63,11 +64,13 @@
|
|||
<group>
|
||||
<field name="employee_id" string="Employee Name" required="1"
|
||||
attrs="{'readonly':[('state','!=','draft')]}" colspan="4"/>
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
|
||||
<field name="promotion_type" string="Promotion type" required="1"
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
<field name="promotion_type" string="Promotion Type" required="1"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="new_department_id" string="New Department"
|
||||
attrs="{'readonly':[('state','!=','draft')],
|
||||
|
|
@ -118,7 +121,9 @@
|
|||
<field name="model">employee.department.jobs</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-info="state == 'draft'" string="Employee Departments and jobs">
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Employee name"/>
|
||||
<field name="promotion_type" string="Promotion Type"/>
|
||||
<field name="new_department_id" string="New department"/>
|
||||
<field name="new_job_id" string="New Job"/>
|
||||
<field name="date" string="Date"/>
|
||||
|
|
@ -127,5 +132,25 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!--employee_department_jobs_filter -->
|
||||
<record id="employee_department_jobs_filter" model="ir.ui.view">
|
||||
<field name="name">employee.department.jobs</field>
|
||||
<field name="model">employee.department.jobs</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_no"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="group_employee" string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="group_type" string="Promotion Type" domain="[]" context="{'group_by': 'promotion_type'}"/>
|
||||
</group>
|
||||
<separator/>
|
||||
<filter string="My Requests" name="my_request" domain="[('employee_id.user_id', '=', uid)]"/>
|
||||
<separator/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
<field name="from_hr" string="Another Employee" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="employee_id" string="Employee"
|
||||
attrs="{'readonly': ['|',('from_hr','=',False),('state','!=','draft')],'required':True}"/>
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
<field name="contract_id" string="Contract" readonly="True" groups="hr.group_hr_user"/>
|
||||
<field name="job_id" string="Job Name" readonly="True"/>
|
||||
<field name="department_id" string="Department" readonly="True"/>
|
||||
|
|
@ -94,6 +95,7 @@
|
|||
<field name="model">employee.effective.form</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-danger="state == 'refused'" decoration-info="state == 'draft'" string="Employee Request Effective">
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Employee"/>
|
||||
<field name="department_id" string="Department"/>
|
||||
<field name="contract_start" string="Contract Start Date"/>
|
||||
|
|
@ -103,5 +105,24 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!--employee_effective_form_filter -->
|
||||
<record id="employee_effective_form_filter" model="ir.ui.view">
|
||||
<field name="name">Employee Request Effective</field>
|
||||
<field name="model">employee.effective.form</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_no"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="group_employee" string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="group_department" string="Department" domain="[]" context="{'group_by': 'department_id'}"/>
|
||||
</group>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<field name="name">Employee OverTime Request</field>
|
||||
<field name="res_model">employee.overtime.request</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name= "context">{"search_default_my_request":1}</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_overtime_calendar">
|
||||
|
|
@ -66,6 +67,7 @@
|
|||
<group>
|
||||
<field name="transfer_type" attrs="{'readonly':[('state','!=','financial_manager')], 'required': [('state', '=', 'financial_manager')]}"/>
|
||||
<field name="employee_id" string="Responsible " required="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
|
||||
<field name="date_from" string="Date From"
|
||||
attrs="{'readonly':[('state','not in',('financial_manager','draft','submit'))], 'required': [('state', 'in', ('financial_manager','draft','submit'))]}"/>
|
||||
|
|
@ -127,6 +129,7 @@
|
|||
<field name="model">employee.overtime.request</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-danger="state == 'refused'" decoration-info="state == 'draft'" string="Employee Overtime Request">
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Responsible"/>
|
||||
<field name="department_id" string="Department"/>
|
||||
<field name="request_date" string="Request Date"/>
|
||||
|
|
@ -137,5 +140,26 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!--employee_overtime_filter -->
|
||||
<record id="employee_overtime_request_filter" model="ir.ui.view">
|
||||
<field name="name">Employee Overtime Request</field>
|
||||
<field name="model">employee.overtime.request</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_no"/>
|
||||
<field name="department_id" />
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="group_employee" string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="group_department" string="Department" domain="[]" context="{'group_by': 'department_id'}"/>
|
||||
</group>
|
||||
<separator/>
|
||||
<filter string="My Requests" name="my_request" domain="[('employee_id.user_id', '=', uid)]"/>
|
||||
<separator/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="employee_id" string="Employee Name"
|
||||
attrs="{'readonly':['|',('state','!=','draft'),('from_hr_department','!=',True)],'required':[('from_hr_department','=',True)]}"/>
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
<field name="date" string="Date Request" required="1"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="date_deliver_work" string="Delivering Work Date" required="1"
|
||||
|
|
@ -155,6 +156,7 @@
|
|||
<field name="model">hr.clearance.form</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-danger="state == 'refuse'" decoration-info="state == 'draft'" string="Employee Clearance Form">
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Employee Name"/>
|
||||
<field name="department_id" string="Department"/>
|
||||
<field name="job_id" string="Job Title"/>
|
||||
|
|
@ -164,5 +166,22 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!--hr_clearance_form_filter -->
|
||||
<record id="hr_clearance_form_filter" model="ir.ui.view">
|
||||
<field name="name">Employee Clearance Form</field>
|
||||
<field name="model">hr.clearance.form</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_no"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="group_employee" string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="group_department" string="Department" domain="[]" context="{'group_by': 'department_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">employee.other.request</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name= "context">{"search_default_my_request":1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Employee Other Request
|
||||
|
|
@ -76,6 +77,7 @@
|
|||
attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="employee_id" string="Employee Name"
|
||||
attrs="{'readonly': ['|',('from_hr','=',False),('state','!=','draft')],'required':True}"/>
|
||||
<field name="employee_no" string="Employee Number" readonly="1"/>
|
||||
|
||||
<field name="department_id" string="Department"/>
|
||||
<field name="job_id" string="Job"/>
|
||||
|
|
@ -219,6 +221,7 @@
|
|||
<field name="model">employee.other.request</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-info="state == 'draft'" string="Employee Other Request">
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Employee Name"/>
|
||||
<field name="department_id" string="Department"/>
|
||||
<field name="job_id" string="Job"/>
|
||||
|
|
@ -229,5 +232,26 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Other_request_filter -->
|
||||
<record id="employee_other_request_filter" model="ir.ui.view">
|
||||
<field name="name">Employee Other Request</field>
|
||||
<field name="model">employee.other.request</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_no"/>
|
||||
<field name="department_id" />
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="group_employee" string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="group_department" string="Department" domain="[]" context="{'group_by': 'department_id'}"/>
|
||||
</group>
|
||||
<separator/>
|
||||
<filter string="My Requests" name="my_request" domain="[('employee_id.user_id', '=', uid)]"/>
|
||||
<separator/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
Loading…
Reference in New Issue