From 919f702ce51f404c5e58dbe4f4ec4fdb35165adc Mon Sep 17 00:00:00 2001 From: Bakry Date: Sun, 11 Aug 2024 17:29:45 +0300 Subject: [PATCH] fix attandance --- odex25_hr/attendances/i18n/ar_001.po | 5 +- odex25_hr/attendances/models/hr_attendance.py | 1 + .../security/attendance_security.xml | 74 ++++++++++++++----- 3 files changed, 61 insertions(+), 19 deletions(-) diff --git a/odex25_hr/attendances/i18n/ar_001.po b/odex25_hr/attendances/i18n/ar_001.po index 9edd06b4e..e9d5f34a1 100644 --- a/odex25_hr/attendances/i18n/ar_001.po +++ b/odex25_hr/attendances/i18n/ar_001.po @@ -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 "الشركة" diff --git a/odex25_hr/attendances/models/hr_attendance.py b/odex25_hr/attendances/models/hr_attendance.py index af6e5bb28..706cde045 100644 --- a/odex25_hr/attendances/models/hr_attendance.py +++ b/odex25_hr/attendances/models/hr_attendance.py @@ -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): diff --git a/odex25_hr/attendances/security/attendance_security.xml b/odex25_hr/attendances/security/attendance_security.xml index de3dd63fa..a72563741 100644 --- a/odex25_hr/attendances/security/attendance_security.xml +++ b/odex25_hr/attendances/security/attendance_security.xml @@ -1,6 +1,6 @@ - + Employee: views its own attendance register @@ -11,9 +11,8 @@ Manager: views attendance register of its subordinates - ['|','|',('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])] + ['|',('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])] @@ -23,9 +22,18 @@ Manager: views attendance registers of all employee [(1 ,'=', 1)] - + + + attendance register company rule + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + + Employee: views its lateness reasons @@ -36,9 +44,8 @@ Manager: views lateness reasons of its subordinates - ['|','|',('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])] + ['|',('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])] @@ -48,9 +55,17 @@ Manager: views lateness reasons of all employees [(1 ,'=', 1)] - + + + lateness reasons company rule + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + Employee: views its attendance transactions @@ -61,8 +76,7 @@ Manager: views attendance transactions of its subordinates - ['|','|',('employee_id.department_id.manager_id','=',False), - ('employee_id.department_id.manager_id.user_id','child_of', [user.id]), + ['|',('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])] Manager: views attendance transactions of all employees [(1 ,'=', 1)] - + - appraisal result line company rule + attendance result line company rule ['|',('company_id','=',False),('company_id', 'in', company_ids)] + - - attendance register company rule - + + Employee: views its attendance attendance + + [('employee_id.user_id','=',user.id)] + + + + + Manager: views attendance attendance of its subordinates + + ['|',('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])] + + + + + + Manager: views attendance attendance of all employees + + [(1 ,'=', 1)] + + + + + attendance result line company rule + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + hr.attendance.report company rule @@ -100,7 +140,7 @@ - +