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