diff --git a/odex25_hr/employee_requests/i18n/ar_001.po b/odex25_hr/employee_requests/i18n/ar_001.po
index 23def5db0..1288f69da 100644
--- a/odex25_hr/employee_requests/i18n/ar_001.po
+++ b/odex25_hr/employee_requests/i18n/ar_001.po
@@ -3807,3 +3807,16 @@ msgstr "للأسف، لموافقة المدير المباشر '%s' فقط او
#, python-format
msgid "Sorry, The Approval For The Department Manager '%s' Only OR HR Manager!"
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
+#, python-format
+msgid "Sorry, The Refuse For The Direct Manager '%s' Only OR HR Manager!"
+msgstr "للأسف، لرفض المدير المباشر '%s' فقط او مدير الموارد البشرية !"
+
+#. module: hr_holidays_public
+#: code:addons/employee_requests/models/employee_overtime_request.py:0
+#, python-format
+msgid "Sorry, The Refuse For The Department Manager '%s' Only !"
+msgstr "للأسف، لرفض مدير الإدارة '%s' فقط او مدير الموارد البشرية !"
diff --git a/odex25_hr/employee_requests/models/employee_overtime_request.py b/odex25_hr/employee_requests/models/employee_overtime_request.py
index 83a141ecf..40696e705 100644
--- a/odex25_hr/employee_requests/models/employee_overtime_request.py
+++ b/odex25_hr/employee_requests/models/employee_overtime_request.py
@@ -146,28 +146,30 @@ class employee_overtime_request(models.Model):
self.state = "submit"
def direct_manager(self):
- self.chick_not_mission()
- #self.state = "direct_manager"
for rec in self:
- if rec.employee_id.parent_id:
- if rec.employee_id.parent_id.user_id.id == rec.env.uid or rec.env.company.hr_manager_id.user_id.id == rec.env.uid:
- rec.write({'state': 'direct_manager'})
- else:
+ rec.chick_not_mission()
+ manager = rec.sudo().employee_id.parent_id
+ hr_manager = rec.sudo().employee_id.user_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': 'direct_manager'})
+ 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': 'direct_manager'})
+ else:
+ rec.write({'state': 'direct_manager'})
def financial_manager(self):
- self.chick_not_mission()
- #self.state = "financial_manager"
for rec in self:
- if rec.employee_id.coach_id:
- if rec.employee_id.coach_id.user_id.id == rec.env.uid or rec.env.company.hr_manager_id.user_id.id == rec.env.uid:
- rec.write({'state': 'financial_manager'})
- else:
- raise exceptions.Warning(_("Sorry, The Approval For The Department Manager '%s' Only OR HR Manager!")%(rec.employee_id.coach_id.name))
- else:
- rec.write({'state': 'financial_manager'})
+ rec.chick_not_mission()
+ manager = rec.sudo().employee_id.coach_id
+ hr_manager = rec.sudo().employee_id.user_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': 'financial_manager'})
+ else:
+ raise exceptions.Warning(_("Sorry, The Approval For The Department Manager '%s' Only OR HR Manager!")%(rec.employee_id.coach_id.name))
+ else:
+ rec.write({'state': 'financial_manager'})
def hr_aaproval(self):
self.chick_not_mission()
@@ -236,6 +238,32 @@ class employee_overtime_request(models.Model):
def refused(self):
self.state = "refused"
+ #Refuse For The Direct Manager Only
+ def direct_manager_refused(self):
+ for rec in self:
+ manager = rec.sudo().employee_id.parent_id
+ hr_manager = rec.sudo().employee_id.user_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.refused()
+ else:
+ raise exceptions.Warning(_("Sorry, The Refuse For The Direct Manager '%s' Only OR HR Manager!") % (manager.name))
+ else:
+ rec.refused()
+
+ #Refuse For The Department Manager Only
+ def dep_manager_refused(self):
+ for rec in self:
+ manager = rec.sudo().employee_id.coach_id
+ hr_manager = rec.sudo().employee_id.user_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.refused()
+ else:
+ raise exceptions.Warning(_("Sorry, The Refuse For The Department Manager '%s' Only !")%(rec.employee_id.coach_id.name))
+ else:
+ rec.refused()
+
def unlink(self):
for i in self:
if i.state != 'draft':
diff --git a/odex25_hr/employee_requests/models/hr_personal_permission.py b/odex25_hr/employee_requests/models/hr_personal_permission.py
index b30e36e96..8809ea5b1 100644
--- a/odex25_hr/employee_requests/models/hr_personal_permission.py
+++ b/odex25_hr/employee_requests/models/hr_personal_permission.py
@@ -292,15 +292,16 @@ class HrPersonalPermission(models.Model):
self.state = "send"
def direct_manager(self):
- #self.state = "direct_manager"
for rec in self:
- if rec.employee_id.parent_id:
- if rec.employee_id.parent_id.user_id.id == rec.env.uid or rec.env.company.hr_manager_id.user_id.id == rec.env.uid:
- rec.write({'state': 'direct_manager'})
- 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': 'direct_manager'})
+ manager = rec.sudo().employee_id.parent_id
+ hr_manager = rec.sudo().employee_id.user_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': 'direct_manager'})
+ 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': 'direct_manager'})
def approve(self):
self.state = "approve"
@@ -309,6 +310,19 @@ class HrPersonalPermission(models.Model):
def refused(self):
self.state = "refused"
+ #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.user_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.refused()
+ else:
+ raise exceptions.Warning(_("Sorry, The Refuse For The Direct Manager '%s' Only OR HR Manager!") % (manager.name))
+ else:
+ rec.refused()
+
def get_user_id(self):
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
if employee_id:
diff --git a/odex25_hr/employee_requests/views/employee_overtime_request.xml b/odex25_hr/employee_requests/views/employee_overtime_request.xml
index d97f6cba0..2d64cfef4 100644
--- a/odex25_hr/employee_requests/views/employee_overtime_request.xml
+++ b/odex25_hr/employee_requests/views/employee_overtime_request.xml
@@ -30,12 +30,12 @@
-
-
-
-