From 590088df4b3e92b3ceaacb401f6264195816c0b1 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Tue, 28 Nov 2017 12:19:57 -0800 Subject: [PATCH] [FIX+IMP] contract: Real fix to company_id missing + improvements + Correct references in the contract report * company_id was empty because an onchange, not inheritance nor visibility * Added multi-company group to company_id fields * Added multi-company access rule to contract templates * Fix double %% in XML dates that was causing an error * When creating a contract, recurring_invoices is set by default --- contract/__manifest__.py | 3 ++- contract/models/account_analytic_account.py | 6 ++---- contract/models/account_analytic_contract.py | 1 - contract/report/report_contract.xml | 4 ++-- contract/security/contract_security.xml | 10 ++++++++++ contract/views/account_analytic_account_view.xml | 7 ++++--- contract/views/account_analytic_contract_view.xml | 1 + 7 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 contract/security/contract_security.xml diff --git a/contract/__manifest__.py b/contract/__manifest__.py index 60831f929..9d5ac02d9 100644 --- a/contract/__manifest__.py +++ b/contract/__manifest__.py @@ -8,7 +8,7 @@ { 'name': 'Contracts Management - Recurring', - 'version': '11.0.1.2.0', + 'version': '11.0.1.4.0', 'category': 'Contract Management', 'license': 'AGPL-3', 'author': "OpenERP SA, " @@ -19,6 +19,7 @@ 'depends': ['base', 'account', 'analytic'], 'data': [ 'security/ir.model.access.csv', + 'security/contract_security.xml', 'report/report_contract.xml', 'report/contract_views.xml', 'data/contract_cron.xml', diff --git a/contract/models/account_analytic_account.py b/contract/models/account_analytic_account.py index 1e1a1db35..05b2182be 100644 --- a/contract/models/account_analytic_account.py +++ b/contract/models/account_analytic_account.py @@ -71,15 +71,13 @@ class AccountAnalyticAccount(models.Model): deletion ensures that any errant lines that are created are also deleted. """ - contract = self.contract_template_id - + if not contract: + return for field_name, field in contract._fields.items(): - if field.name == 'recurring_invoice_line_ids': lines = self._convert_contract_lines(contract) self.recurring_invoice_line_ids = lines - elif not any(( field.compute, field.related, field.automatic, field.readonly, field.company_dependent, diff --git a/contract/models/account_analytic_contract.py b/contract/models/account_analytic_contract.py index ca9a0b718..2753e017b 100644 --- a/contract/models/account_analytic_contract.py +++ b/contract/models/account_analytic_contract.py @@ -74,4 +74,3 @@ class AccountAnalyticContract(models.Model): ('type', '=', 'sale'), ('company_id', '=', company_id)] return self.env['account.journal'].search(domain, limit=1) - diff --git a/contract/report/report_contract.xml b/contract/report/report_contract.xml index 16aed6c35..19e73aee1 100644 --- a/contract/report/report_contract.xml +++ b/contract/report/report_contract.xml @@ -2,9 +2,9 @@