add filter and search penalty

This commit is contained in:
Bakry 2024-08-12 15:14:30 +03:00
parent a0fe4eeb82
commit 4a86c48ce6
3 changed files with 50 additions and 5 deletions

View File

@ -237,6 +237,7 @@ msgstr ""
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_hr_penalty_register__department_id
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_report
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.penalty_egister_form_view
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_register_filter
#, python-format
msgid "Department"
msgstr "الهيكل الإداري"
@ -310,6 +311,7 @@ msgstr "خصم ايام من الراتب"
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_hr_deduction__employee_id
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_hr_penalty_register__employee_id
#: model:ir.model.fields,field_description:hr_disciplinary_tracking.field_hr_penalty_report__employee_ids
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_register_filter
msgid "Employee"
msgstr "الموظف"
@ -777,6 +779,7 @@ msgstr "رقم المخالفة"
#: model:ir.ui.menu,name:hr_disciplinary_tracking.penalty_egister
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.penalty_egister_form_view
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.penalty_egister_tree_view
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_register_filter
msgid "Penalty Register"
msgstr "المخالفات والجزاءات"
@ -790,7 +793,7 @@ msgstr "تقرير المخالفات والجزاءات"
#. module: hr_disciplinary_tracking
#: model:ir.ui.menu,name:hr_disciplinary_tracking.penalty_reports
msgid "Penalty Reports"
msgstr " تقاريرالمخالفات و الجزاءات"
msgstr "تقاريرالمخالفات و الجزاءات"
#. module: hr_disciplinary_tracking
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.penalty_type_form_view
@ -1268,3 +1271,14 @@ msgstr "بداية المخالفة"
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.penalty_egister_form_view
msgid "Resolution Number"
msgstr "رقم القرار"
#. module: hr_disciplinary_tracking
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_register_filter
msgid "My Requests"
msgstr "طلبـاتي"
#. module: hr_disciplinary_tracking
#: model:ir.model.fields.selection,name:hr_disciplinary_tracking.selection__hr_penalty_register__employee_no
#: model_terms:ir.ui.view,arch_db:hr_disciplinary_tracking.hr_penalty_register_filter
msgid "Employee Number"
msgstr "رقم الموظف"

View File

@ -37,9 +37,11 @@ class penalty_register(models.Model):
# relational fields
employee_id = fields.Many2one('hr.employee', 'Employee')
employee_id = fields.Many2one('hr.employee', 'Employee', 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)
job_id = fields.Many2one(comodel_name='hr.job', related='employee_id.job_id', readonly=True)
department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id', readonly=True)
department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id', readonly=True, store=True)
penalty_id = fields.Many2one(comodel_name='hr.penalty.ss', tracking=True)
punishment_id = fields.Many2many(comodel_name='hr.punishment', tracking=True)
accounting_committee = fields.Many2many(comodel_name='hr.employee')
@ -55,6 +57,13 @@ class penalty_register(models.Model):
resolution_number = fields.Char(string='Resolution Number')
company_id = fields.Many2one('res.company', string='Company',default=lambda self: self.env.company)
def get_user_id(self):
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
if employee_id:
return employee_id.id
else:
return False
@api.onchange('date')
def chick_date_day(self):
for item in self:

View File

@ -5,6 +5,7 @@
<field name="name">Penalty Register</field>
<field name="res_model">hr.penalty.register</field>
<field name="view_mode">tree,form</field>
<field name= "context">{"search_default_my_request":1}</field>
</record>
<record id="penalty_egister_form_view" model="ir.ui.view">
@ -36,6 +37,7 @@
<!--<field name="contract_advantage_ids" widget="many2many_tags" invisible="1"/>-->
<field name="employee_id" string="Employee Name" required="1"
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="job_id" string="Job Position"/>
<field name="department_id" string="Department"/>
@ -119,8 +121,8 @@
<field name="name">Penalty Register</field>
<field name="model">hr.penalty.register</field>
<field name="arch" type="xml">
<tree decoration-danger="state == 'refuse'" decoration-info="state == 'draft'"
string="Penalty Register">
<tree decoration-danger="state == 'refuse'" decoration-info="state == 'draft'" string="Penalty Register">
<field name="employee_no"/>
<field name="employee_id" string="Employee Name"/>
<field name="date" string="Date"/>
<field name="penalty_id" string="Penalty"/>
@ -133,6 +135,26 @@
</field>
</record>
<!--employee_overtime_filter -->
<record id="hr_penalty_register_filter" model="ir.ui.view">
<field name="name">Penalty Register</field>
<field name="model">hr.penalty.register</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>