From 153eee6011c701e453c96a2560d8ec80950c9540 Mon Sep 17 00:00:00 2001 From: Bakry Date: Mon, 7 Oct 2024 13:45:43 +0300 Subject: [PATCH] fix --- odex25_hr/employee_requests/i18n/ar_001.po | 2 ++ .../employee_requests/models/other_request.py | 25 ++++++++++++++++++- .../employee_requests/views/other_request.xml | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/odex25_hr/employee_requests/i18n/ar_001.po b/odex25_hr/employee_requests/i18n/ar_001.po index b3f030da0..2663317d0 100644 --- a/odex25_hr/employee_requests/i18n/ar_001.po +++ b/odex25_hr/employee_requests/i18n/ar_001.po @@ -3768,6 +3768,7 @@ msgstr "طباعة تثبيت الراتب" #. module: employee_requests #: code:addons/employee_requests/models/employee_overtime_request.py:0 #: code:addons/employee_requests/models/hr_personal_permission.py:0 +#: code:addons/employee_requests/models/other_request.py:0 #, python-format msgid "Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!" msgstr "للأسف، لموافقة المدير المباشر '%s' فقط او مدير الموارد البشرية !" @@ -3781,6 +3782,7 @@ msgstr "للأسف، لموافقة مدير الإدارة '%s' فقط او م #. module: hr_holidays_public #: code:addons/employee_requests/models/employee_overtime_request.py:0 #: code:addons/employee_requests/models/hr_personal_permission.py:0 +#: code:addons/employee_requests/models/other_request.py:0 #, python-format msgid "Sorry, The Refuse For The Direct Manager '%s' Only OR HR Manager!" msgstr "للأسف، لرفض المدير المباشر '%s' فقط او مدير الموارد البشرية !" diff --git a/odex25_hr/employee_requests/models/other_request.py b/odex25_hr/employee_requests/models/other_request.py index 4716409c2..a6a074316 100644 --- a/odex25_hr/employee_requests/models/other_request.py +++ b/odex25_hr/employee_requests/models/other_request.py @@ -120,7 +120,17 @@ class EmployeeOtherRequest(models.Model): item.state = "submit" def confirm(self): - self.state = 'confirm' + #self.state = 'confirm' + for rec in self: + manager = rec.sudo().employee_id.parent_id + hr_manager = rec.sudo().employee_id.company_id.hr_manager_id + if manager: + if (manager.user_id.id == rec.env.uid or hr_manager.user_id.id == rec.env.uid): + rec.write({'state': 'confirm'}) + else: + raise exceptions.Warning(_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!")%(rec.employee_id.parent_id.name)) + else: + rec.write({'state': 'confirm'}) def approved(self): for item in self: @@ -179,6 +189,19 @@ class EmployeeOtherRequest(models.Model): self.state = 'refuse' + #Refuse For The Direct Manager + def direct_manager_refused(self): + for rec in self: + manager = rec.sudo().employee_id.parent_id + hr_manager = rec.sudo().employee_id.company_id.hr_manager_id + if manager: + if manager.user_id.id == rec.env.uid or hr_manager.user_id.id == rec.env.uid: + rec.refuse() + else: + raise exceptions.Warning(_("Sorry, The Refuse For The Direct Manager '%s' Only OR HR Manager!") % (manager.name)) + else: + rec.refuse() + def draft(self): for item in self: if item.request_type == 'dependent': diff --git a/odex25_hr/employee_requests/views/other_request.xml b/odex25_hr/employee_requests/views/other_request.xml index e81008ee7..dceede704 100644 --- a/odex25_hr/employee_requests/views/other_request.xml +++ b/odex25_hr/employee_requests/views/other_request.xml @@ -35,7 +35,7 @@