From 481cfe28180787f29e7e0acfca2955f7b99654d9 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Thu, 21 Jan 2021 14:24:25 +0000 Subject: [PATCH] [FIX] hr_contract: Select employee's company contracts on history closes odoo/odoo#64914 X-original-commit: 22e46f28e0fae90098a0111ea601eadf80a3e3b6 Related: odoo/enterprise#15907 Signed-off-by: Yannick Tivisse (yti) --- addons/hr_contract/report/hr_contract_history.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/hr_contract/report/hr_contract_history.py b/addons/hr_contract/report/hr_contract_history.py index c818c5dbc5b..594daa6dae8 100644 --- a/addons/hr_contract/report/hr_contract_history.py +++ b/addons/hr_contract/report/hr_contract_history.py @@ -67,10 +67,12 @@ class ContractHistory(models.Model): self.env.cr.execute("""CREATE or REPLACE VIEW %s AS ( WITH contract_information AS ( SELECT DISTINCT employee_id, + company_id, FIRST_VALUE(id) OVER w_partition AS id, MAX(CASE WHEN state='open' THEN 1 ELSE 0 END) OVER w_partition AS is_under_contract FROM hr_contract AS contract - WHERE contract.state <> 'cancel' AND contract.active = true + WHERE contract.state <> 'cancel' + AND contract.active = true WINDOW w_partition AS ( PARTITION BY contract.employee_id ORDER BY contract.date_start DESC @@ -85,8 +87,10 @@ class ContractHistory(models.Model): %s FROM hr_contract AS contract INNER JOIN contract_information ON contract.id = contract_information.id - RIGHT JOIN hr_employee AS employee ON contract_information.employee_id = employee.id - WHERE employee.active = true OR contract.state='draft' + RIGHT JOIN hr_employee AS employee + ON contract_information.employee_id = employee.id + AND contract.company_id = employee.company_id + WHERE (employee.active = true OR contract.state='draft') )""" % (self._table, self._get_fields())) @api.depends('employee_id.contract_ids')