add filter and search employee request

This commit is contained in:
Bakry 2024-08-12 11:25:11 +03:00
parent 7c63c9aa0e
commit cab395c7ce
13 changed files with 161 additions and 19 deletions

View File

@ -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

View File

@ -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>

View File

@ -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 "طلبـاتي"

View File

@ -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')

View File

@ -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")

View File

@ -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')

View File

@ -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')

View File

@ -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)

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>