From 5ad0aa5c2aff4a5f93169583c44f103dbc899c39 Mon Sep 17 00:00:00 2001 From: damr Date: Fri, 31 Mar 2023 07:51:44 +0000 Subject: [PATCH] [IMP] project,web_form_project : add the handling of AAL for project_profitability + change the name displayed in portal This commit's purpose is to - add the computation of the AAL for the project profitabity. If a the analytic account of a project contains AAL that were manually added ( and thus not linked to any sol/purchase/etc ) those lines are not computed in the 'other costs/other revenues section. - to display the title of the ticket/task/project in the name of the page My ticket/My task/My project of the portal task-2960753 closes odoo/odoo#106438 Related: odoo/enterprise#34344 Signed-off-by: Xavier Bol (xbo) --- addons/project/models/project_project.py | 3 + .../tests/test_project_profitability.py | 3 +- ...oject_portal_project_project_templates.xml | 1 + .../project_portal_project_task_templates.xml | 1 + addons/project_account/__init__.py | 4 + addons/project_account/__manifest__.py | 18 ++ addons/project_account/models/__init__.py | 4 + .../project_account/models/project_project.py | 160 +++++++++++ addons/project_account/tests/__init__.py | 3 + .../tests/test_project_profitability.py | 49 ++++ .../views/account_analytic_line_views.xml | 33 +++ .../models/project_project.py | 2 +- addons/project_mrp/models/project_project.py | 2 +- addons/project_purchase/__manifest__.py | 2 +- .../models/project_project.py | 57 +--- .../tests/test_project_profitability.py | 56 +++- addons/sale_project/__manifest__.py | 4 +- addons/sale_project/models/project.py | 94 ++++--- .../tests/test_project_profitability.py | 265 ++++++++++++++++-- addons/sale_timesheet/models/project.py | 7 + .../tests/test_project_profitability.py | 51 ++-- addons/website_form_project/__manifest__.py | 2 + ...roject_portal_project_project_template.xml | 8 + .../project_portal_project_task_template.xml | 8 + 24 files changed, 688 insertions(+), 149 deletions(-) create mode 100644 addons/project_account/__init__.py create mode 100644 addons/project_account/__manifest__.py create mode 100644 addons/project_account/models/__init__.py create mode 100644 addons/project_account/models/project_project.py create mode 100644 addons/project_account/tests/__init__.py create mode 100644 addons/project_account/tests/test_project_profitability.py create mode 100644 addons/project_account/views/account_analytic_line_views.xml create mode 100644 addons/website_form_project/views/project_portal_project_project_template.xml create mode 100644 addons/website_form_project/views/project_portal_project_task_template.xml diff --git a/addons/project/models/project_project.py b/addons/project/models/project_project.py index 7a6d218bb9f..4d33a15f566 100644 --- a/addons/project/models/project_project.py +++ b/addons/project/models/project_project.py @@ -710,6 +710,9 @@ class Project(models.Model): return [('account_id', 'in', self.analytic_account_id.ids)] def _get_profitability_items(self, with_action=True): + return self._get_items_from_aal(with_action) + + def _get_items_from_aal(self, with_action=True): return { 'revenues': {'data': [], 'total': {'invoiced': 0.0, 'to_invoice': 0.0}}, 'costs': {'data': [], 'total': {'billed': 0.0, 'to_bill': 0.0}}, diff --git a/addons/project/tests/test_project_profitability.py b/addons/project/tests/test_project_profitability.py index a983118c701..84cda926bc7 100644 --- a/addons/project/tests/test_project_profitability.py +++ b/addons/project/tests/test_project_profitability.py @@ -45,9 +45,8 @@ class TestProfitability(TestProjectProfitabilityCommon): In this module, the project profitability should have no data. So the no revenue and cost should be found. """ - profitability_items = self.project._get_profitability_items(False) self.assertDictEqual( - profitability_items, + self.project._get_profitability_items(False), self.project_profitability_items_empty, 'The profitability data of the project should be return no data and so 0 for each total amount.' ) diff --git a/addons/project/views/project_portal_project_project_templates.xml b/addons/project/views/project_portal_project_project_templates.xml index bc08a7dc8e4..fa65493ca67 100644 --- a/addons/project/views/project_portal_project_project_templates.xml +++ b/addons/project/views/project_portal_project_project_templates.xml @@ -77,6 +77,7 @@