fix attandance

This commit is contained in:
Bakry 2024-08-11 17:29:45 +03:00
parent 78d0328363
commit 919f702ce5
3 changed files with 61 additions and 19 deletions

View File

@ -880,7 +880,7 @@ msgstr "التأخيرات"
#. module: attendances
#: model:ir.ui.menu,name:attendances.employee_lateness_reasons_menu_item
msgid "Lateness Reasons"
msgstr "اسباب التاخير"
msgstr "أسباب التأخير والخروج"
#. module: attendances
#: model:ir.ui.menu,name:attendances.employee_lateness_absence_overtime_menu_item
@ -1795,7 +1795,7 @@ msgstr "تاريخ التأخير"
#. module: attendances
#: model:ir.actions.act_window,name:attendances.hr_lateness_reasons_action
msgid "lateness Reasons"
msgstr "اسباب التاخير"
msgstr "أسباب التأخير والخروج"
#. module: attendances
#: code:addons/attendances/models/hr_attendance.py:0
@ -2037,6 +2037,7 @@ msgstr ""
#. module: attendances
#: model:ir.model.fields,field_description:attendances.field_hr_attendance_transaction__company_id
#: model:ir.model.fields,field_description:attendances.field_attendance_attendance__company_id
msgid "Company"
msgstr "الشركة"

View File

@ -379,6 +379,7 @@ class Attendance(models.Model):
action_reason = fields.Many2one('attendance.action.reason', string='Action Reason')
employee_number = fields.Char(related='employee_id.emp_no', string='Employee Number',store=True)
company_id = fields.Many2one(related='employee_id.company_id', string='Company')
@api.depends('name')
def compute_date(self):

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!--###################################### attendance register start ##### -->
<record id="hr_attendance_register_emp_rule" model="ir.rule">
<field name="name">Employee: views its own attendance register</field>
<field name="model_id" ref="model_hr_attendance_register"/>
@ -11,9 +11,8 @@
<record id="hr_attendance_register_manager_rule" model="ir.rule">
<field name="name">Manager: views attendance register of its subordinates</field>
<field name="model_id" ref="model_hr_attendance_register"/>
<field name="domain_force">['|','|',('department_id.manager_id','=',False),
('department_id.manager_id.user_id','child_of', [user.id]),
('department_id.parent_id.manager_id.user_id','child_of', [user.id])]
<field name="domain_force">['|',('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
@ -23,9 +22,18 @@
<field name="name">Manager: views attendance registers of all employee</field>
<field name="model_id" ref="model_hr_attendance_register"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_user'))]"/>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_manager'))]"/>
</record>
<record id="hr_attendance_register_comp_rule" model="ir.rule">
<field name="name">attendance register company rule</field>
<field name="model_id" ref="model_hr_attendance_register"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!--############## attendance register end /lateness reasons start##### -->
<record id="hr_reasons_lateness_emp_rule" model="ir.rule">
<field name="name">Employee: views its lateness reasons</field>
<field name="model_id" ref="model_hr_reasons_lateness"/>
@ -36,9 +44,8 @@
<record id="hr_reasons_lateness_manager_rule" model="ir.rule">
<field name="name">Manager: views lateness reasons of its subordinates</field>
<field name="model_id" ref="model_hr_reasons_lateness"/>
<field name="domain_force">['|','|',('department_id.manager_id','=',False),
('department_id.manager_id.user_id','child_of', [user.id]),
('department_id.parent_id.manager_id.user_id','child_of', [user.id])]
<field name="domain_force">['|',('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
@ -48,9 +55,17 @@
<field name="name">Manager: views lateness reasons of all employees</field>
<field name="model_id" ref="model_hr_reasons_lateness"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_user'))]"/>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_manager'))]"/>
</record>
<record id="hr_reasons_lateness_comp_rule" model="ir.rule">
<field name="name">lateness reasons company rule</field>
<field name="model_id" ref="model_hr_reasons_lateness"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!--################ lateness reasons end/ attendance transactions start ##### -->
<record id="hr_attendance_transaction_emp_rule" model="ir.rule">
<field name="name">Employee: views its attendance transactions</field>
<field name="model_id" ref="model_hr_attendance_transaction"/>
@ -61,8 +76,7 @@
<record id="hr_attendance_transaction_manager_rule" model="ir.rule">
<field name="name">Manager: views attendance transactions of its subordinates</field>
<field name="model_id" ref="model_hr_attendance_transaction"/>
<field name="domain_force">['|','|',('employee_id.department_id.manager_id','=',False),
('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
<field name="domain_force">['|',('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
@ -73,21 +87,47 @@
<field name="name">Manager: views attendance transactions of all employees</field>
<field name="model_id" ref="model_hr_attendance_transaction"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_user'))]"/>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_manager'))]"/>
</record>
<record id="hr_attendance_transaction_comp_rule" model="ir.rule">
<field name="name">appraisal result line company rule</field>
<field name="name">attendance result line company rule</field>
<field name="model_id" ref="model_hr_attendance_transaction"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!--###################################### attendance transactions end/attendance start ##### -->
<record id="hr_attendance_register_comp_rule" model="ir.rule">
<field name="name">attendance register company rule</field>
<field name="model_id" ref="model_hr_attendance_register"/>
<record id="attendance_attendance_emp_rule" model="ir.rule">
<field name="name">Employee: views its attendance attendance</field>
<field name="model_id" ref="model_attendance_attendance"/>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
<record id="attendance_attendance_manager_rule" model="ir.rule">
<field name="name">Manager: views attendance attendance of its subordinates</field>
<field name="model_id" ref="model_attendance_attendance"/>
<field name="domain_force">['|',('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
</record>
<record id="attendance_attendance_all_rule" model="ir.rule">
<field name="name">Manager: views attendance attendance of all employees</field>
<field name="model_id" ref="model_attendance_attendance"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_manager'))]"/>
</record>
<record id="attendance_attendance_comp_rule" model="ir.rule">
<field name="name">attendance result line company rule</field>
<field name="model_id" ref="model_attendance_attendance"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!--###################################### attendance attendance end ##### -->
<record id="hr_attendance_report_comp_rule" model="ir.rule">
<field name="name">hr.attendance.report company rule</field>
@ -100,7 +140,7 @@
</record>
<record id="hr.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4,ref('hr_attendance.group_hr_attendance_user'))]"/>
<field name="implied_ids" eval="[(4,ref('hr_attendance.group_hr_attendance_manager'))]"/>
</record>
<record id="hr_attendance.hr_attendance_rule_attendance_employee" model="ir.rule">