From ba4b71427f8d3405663453f6cc67595b5d079178 Mon Sep 17 00:00:00 2001 From: gawa-odoo Date: Fri, 16 Sep 2022 09:50:19 +0000 Subject: [PATCH] [IMP] analytic,*: changes on applicability and make fields visible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add choices for the business domain on applicability rules, so rules are more precise Also put 'general' as domain from the view when it's what should have been. Make analytic field visible since owl migration (for sale and purchase) closes odoo/odoo#102461 X-original-commit: c5867d5009a7fb448fff1be487b9e9c3e7945d4b Related: odoo/enterprise#32421 Signed-off-by: William André (wan) Signed-off-by: Wala Gauthier (gawa) --- .../account/models/account_analytic_plan.py | 10 ++++++++ addons/account/views/account_move_views.xml | 4 ++-- .../views/account_reconcile_model_views.xml | 15 +++++------- addons/analytic/models/analytic_plan.py | 2 -- .../analytic/tests/test_analytic_account.py | 4 ++-- addons/hr_expense/models/__init__.py | 1 + addons/hr_expense/models/analytic.py | 16 +++++++++++++ addons/hr_expense/views/hr_expense_views.xml | 12 ++++------ addons/purchase/models/__init__.py | 1 + .../purchase/models/analytic_applicability.py | 15 ++++++++++++ addons/purchase/views/purchase_views.xml | 24 +++++++------------ .../views/purchase_requisition_views.xml | 16 +++++-------- addons/sale/models/analytic.py | 12 ++++++++++ addons/sale/views/sale_order_views.xml | 15 +++++------- 14 files changed, 91 insertions(+), 56 deletions(-) create mode 100644 addons/hr_expense/models/analytic.py create mode 100644 addons/purchase/models/analytic_applicability.py diff --git a/addons/account/models/account_analytic_plan.py b/addons/account/models/account_analytic_plan.py index 005cd0bd300..05811b39442 100644 --- a/addons/account/models/account_analytic_plan.py +++ b/addons/account/models/account_analytic_plan.py @@ -7,6 +7,16 @@ class AccountAnalyticApplicability(models.Model): _inherit = 'account.analytic.applicability' _description = "Analytic Plan's Applicabilities" + business_domain = fields.Selection( + selection_add=[ + ('invoice', 'Invoice'), + ('bill', 'Vendor Bill'), + ], + ondelete={ + 'invoice': 'cascade', + 'bill': 'cascade', + }, + ) account_prefix = fields.Char( string='Financial Accounts Prefix', help="Prefix that defines which accounts from the financial accounting this applicability should apply on.", diff --git a/addons/account/views/account_move_views.xml b/addons/account/views/account_move_views.xml index c781363897e..cfa1a262e19 100644 --- a/addons/account/views/account_move_views.xml +++ b/addons/account/views/account_move_views.xml @@ -886,7 +886,7 @@ groups="analytic.group_analytic_accounting" optional="show" options="{'product_field': 'product_id', 'account_field': 'account_id'}" - business_domain_compute="parent.move_type in ['out_invoice', 'out_refund', 'out_receipt'] and 'sale' or parent.move_type in ['in_invoice', 'in_refund', 'in_receipt'] and 'purchase' or 'general'"/> + business_domain_compute="parent.move_type in ['out_invoice', 'out_refund', 'out_receipt'] and 'invoice' or parent.move_type in ['in_invoice', 'in_refund', 'in_receipt'] and 'bill' or 'general'"/> @@ -1057,7 +1057,7 @@ groups="analytic.group_analytic_accounting" optional="show" options="{'account_field': 'account_id'}" - business_domain_compute="parent.move_type in ['out_invoice', 'out_refund', 'out_receipt'] and 'sale' or parent.move_type in ['in_invoice', 'in_refund', 'in_receipt'] and 'purchase' or 'general'"/> + business_domain_compute="parent.move_type in ['out_invoice', 'out_refund', 'out_receipt'] and 'invoice' or parent.move_type in ['in_invoice', 'in_refund', 'in_receipt'] and 'bill' or 'general'"/> - - + @@ -247,11 +246,9 @@ widget="many2many_tags" optional="hide"/> - - + + groups="analytic.group_analytic_accounting" + options="{'product_field': 'product_id', 'business_domain': 'expense'}"/> @@ -196,10 +197,8 @@ + options="{'product_field': 'product_id', 'account_field': 'account_id', 'business_domain': 'expense'}" + attrs="{'readonly': [('is_editable', '=', False)]}"/> diff --git a/addons/purchase_requisition/views/purchase_requisition_views.xml b/addons/purchase_requisition/views/purchase_requisition_views.xml index f4282c88c4a..5d4c95005f1 100644 --- a/addons/purchase_requisition/views/purchase_requisition_views.xml +++ b/addons/purchase_requisition/views/purchase_requisition_views.xml @@ -162,12 +162,10 @@ - - + options="{'product_field': 'product_id', 'business_domain': 'purchase_order'}"/>
@@ -180,11 +178,9 @@ - - + diff --git a/addons/sale/models/analytic.py b/addons/sale/models/analytic.py index f64a1c1b638..1e1fc1912e3 100644 --- a/addons/sale/models/analytic.py +++ b/addons/sale/models/analytic.py @@ -14,3 +14,15 @@ class AccountAnalyticLine(models.Model): return [('qty_delivered_method', '=', 'analytic')] so_line = fields.Many2one('sale.order.line', string='Sales Order Item', domain=lambda self: self._default_sale_line_domain()) + + +class AccountAnalyticApplicability(models.Model): + _inherit = 'account.analytic.applicability' + _description = "Analytic Plan's Applicabilities" + + business_domain = fields.Selection( + selection_add=[ + ('sale_order', 'Sale Order'), + ], + ondelete={'sale_order': 'cascade'}, + ) diff --git a/addons/sale/views/sale_order_views.xml b/addons/sale/views/sale_order_views.xml index 99797b3215d..a072ec6ac5d 100644 --- a/addons/sale/views/sale_order_views.xml +++ b/addons/sale/views/sale_order_views.xml @@ -364,11 +364,9 @@ days - - +