[IMP] exp_official_mission: adjust approval process

This commit is contained in:
Abdurrahman Saber 2025-11-01 12:43:33 +02:00
parent 59b4f60397
commit 8d9eb01e48
1 changed files with 10 additions and 15 deletions

View File

@ -551,10 +551,16 @@ class HrOfficialMission(models.Model):
self.state = "send"
def direct_manager(self):
if self.mission_type.related_with_financial:
self.state = 'accounting_manager'
else:
self.accounting_manager()
for rec in self:
manager = rec.sudo().employee_id.parent_id
hr_manager = rec.sudo().employee_id.company_id.hr_manager_id
if manager and self.env.uid not in (manager.user_id.id, hr_manager.user_id.id):
raise exceptions.Warning(_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!") % (manager.name))
if rec.mission_type.related_with_financial:
rec.state = 'accounting_manager'
else:
rec.accounting_manager()
def accounting_manager(self):
# self.chick_employee_ids()
@ -562,17 +568,6 @@ class HrOfficialMission(models.Model):
self.employee_ids.compute_Training_cost_emp()
self.employee_ids.write({'status': 'approved'})
self.state = 'depart_manager'
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': 'depart_manager'})
else:
raise exceptions.Warning(
_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!") % (manager.name))
else:
rec.write({'state': 'depart_manager'})
if self.mission_type.approve_by == 'direct_manager':
self.approve()