[Fix] hr_employee: Fix compute fields
When we add a user to employee, we can have problem with leave, expense or coach manager. It's due to those compute fields. closes odoo/odoo#40795 Related: odoo/enterprise#6865 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="module_fleet_account" string="Analytic Accounting"/>
|
||||
<div class="text-muted">
|
||||
Manage analytic account for vehicle
|
||||
Analyse vehicle costs with analytic accounting
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -86,3 +86,5 @@ class HrEmployeeBase(models.AbstractModel):
|
||||
previous_manager = employee._origin.parent_id
|
||||
if manager and (employee.coach_id == previous_manager or not employee.coach_id):
|
||||
employee.coach_id = manager
|
||||
elif not employee.coach_id:
|
||||
employee.coach_id = False
|
||||
|
||||
@@ -30,6 +30,8 @@ class Employee(models.Model):
|
||||
manager = employee.parent_id.user_id
|
||||
if manager and manager.has_group('hr_expense.group_hr_expense_user') and (employee.expense_manager_id == previous_manager or not employee.expense_manager_id):
|
||||
employee.expense_manager_id = manager
|
||||
elif not employee.expense_manager_id:
|
||||
employee.expense_manager_id = False
|
||||
|
||||
|
||||
class EmployeePublic(models.Model):
|
||||
|
||||
@@ -158,6 +158,8 @@ class HrEmployeeBase(models.AbstractModel):
|
||||
manager = employee.parent_id.user_id
|
||||
if manager and employee.leave_manager_id == previous_manager or not employee.leave_manager_id:
|
||||
employee.leave_manager_id = manager
|
||||
elif not employee.leave_manager_id:
|
||||
employee.leave_manager_id = False
|
||||
|
||||
def _compute_show_leaves(self):
|
||||
show_leaves = self.env['res.users'].has_group('hr_holidays.group_hr_holidays_user')
|
||||
|
||||
Reference in New Issue
Block a user