diff --git a/odex25_hr/attendances/security/ir.model.access.csv b/odex25_hr/attendances/security/ir.model.access.csv index b4dbbef0e..edf887e34 100644 --- a/odex25_hr/attendances/security/ir.model.access.csv +++ b/odex25_hr/attendances/security/ir.model.access.csv @@ -20,4 +20,7 @@ access_hr_attendance_wizard_hr,hr_attendance_wizard_hr,model_hr_attendance_wizar access_employee_attendance_report_hr,employee_attendance_report_hr,model_employee_attendance_report,hr.group_hr_user,1,1,1,0 access_attendance_attendance_admin,attendance_attendance_admin,model_attendance_attendance,base.group_system,1,1,1,1 access_hr_attendance_transaction_admin,hr.attendance.transaction.admin,model_hr_attendance_transaction,base.group_system,1,1,1,1 -access_attendance_special_days_accounting_manager,attendance.special.days.accounting.manager,model_attendance_special_days,hr_base.group_account_manager,1,1,1,1 +access_attendance_special_days_accounting_manager,attendance.special.days.accounting.manager,model_attendance_special_days,hr_base.group_account_manager,1,1,0,0 +access_hr_attendance_transaction_accounting_manager,hr.attendance.transaction.accounting.manager,model_hr_attendance_transaction,hr_base.group_account_manager,1,1,0,0 +access_attendance_attendance_accounting_manager,attendance_attendance_accounting.manager,model_attendance_attendance,hr_base.group_account_manager,1,1,0,0 +access_days_off_accounting_manager,days_off.accounting.manager,model_days_off,hr_base.group_account_manager,1,1,0,0 \ No newline at end of file diff --git a/odex25_hr/employee_requests/security/ir.model.access.csv b/odex25_hr/employee_requests/security/ir.model.access.csv index 31dab8c9d..332f94966 100644 --- a/odex25_hr/employee_requests/security/ir.model.access.csv +++ b/odex25_hr/employee_requests/security/ir.model.access.csv @@ -21,3 +21,4 @@ access_salary_destination_hr,salary_destination_hr,model_salary_destination,hr.g access_salary_destination_emp,salary_destination_emp,model_salary_destination,base.group_user,1,0,0,0 access_hr_classification,hr_classification,model_hr_classification,base.group_user,1,1,1,1 +access_hr_personal_permission_accounting_manager,hr.personal.permission.accounting.manager,model_hr_personal_permission,hr_base.group_account_manager,1,1,0,0 diff --git a/odex25_hr/exp_official_mission/models/hr_official_mission.py b/odex25_hr/exp_official_mission/models/hr_official_mission.py index bd9ffd281..0726da3ad 100644 --- a/odex25_hr/exp_official_mission/models/hr_official_mission.py +++ b/odex25_hr/exp_official_mission/models/hr_official_mission.py @@ -569,11 +569,8 @@ class HrOfficialMission(models.Model): self.employee_ids.write({'status': 'approved'}) self.state = 'depart_manager' if self.mission_type.approve_by == 'direct_manager': - self.approve() - - def accounting_manager_refused(self): - for rec in self: - rec.refused() + return self.approve() + return self._reset_to_action() # Refuse For The Direct Manager Only def direct_manager_refused(self): @@ -767,6 +764,12 @@ class HrOfficialMission(models.Model): def refused(self): self.state = 'refused' self.reset_emp_work_state() + + def _reset_to_action(self): + if self.env.context.get('default_process_type') == 'mission': + return self.env.ref('exp_official_mission.employee_official_mission_action').sudo().read()[0] + else: + return self.env.ref('exp_official_mission.employee_training_action').sudo().read()[0] def reset_emp_work_state(self): if self.mission_type.work_state and self.mission_type.duration_type == 'days': diff --git a/odex25_hr/exp_official_mission/security/ir.model.access.csv b/odex25_hr/exp_official_mission/security/ir.model.access.csv index 1d7d5ed16..3310bce9e 100644 --- a/odex25_hr/exp_official_mission/security/ir.model.access.csv +++ b/odex25_hr/exp_official_mission/security/ir.model.access.csv @@ -16,4 +16,5 @@ access_hr_mission_type_account_hr_user,access_hr_mission_type_account,model_hr_m access_hr_mission_type_account_emp,access_hr_mission_type_account,model_hr_mission_type_account,base.group_user,1,0,0,0 access_mission_table,access_mission_table,model_mission_table,base.group_user,1,1,1,1 -access_hr_employee_accounting_manager,hr.employee.accounting.manager,hr.model_hr_employee,hr_base.group_account_manager,1,1,0,0 \ No newline at end of file +access_hr_employee_accounting_manager,hr.employee.accounting.manager,hr.model_hr_employee,hr_base.group_account_manager,1,1,0,0 +access_hr_official_mission_accounting_manager,hr.official.mission.accounting.manager,model_hr_official_mission,hr_base.group_account_manager,1,1,0,0 \ No newline at end of file diff --git a/odex25_hr/exp_official_mission/security/official_mission_security.xml b/odex25_hr/exp_official_mission/security/official_mission_security.xml index 87e8fbe6c..fceabbcd6 100644 --- a/odex25_hr/exp_official_mission/security/official_mission_security.xml +++ b/odex25_hr/exp_official_mission/security/official_mission_security.xml @@ -24,11 +24,18 @@ eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager')),]"/> + + Accounting Manager: views missions that needs approval + + ['|',('state','in',['accounting_manager','accounting_manager_final', 'approve', 'refused']),('employee_ids.employee_id.user_id','in',user.ids)] + + + Allow HR : views missions of all employees [(1 ,'=', 1)] -