From 42bc86454a4ddb30ab8dbe2df855975ae52a7dca Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 17 Sep 2025 02:11:47 -0400 Subject: [PATCH 1/8] [MIG] project_budget: Migration to 15.0 --- project_budget/README.rst | 97 ++++ project_budget/__init__.py | 3 + project_budget/__manifest__.py | 25 + project_budget/i18n/hr.po | 91 ++++ project_budget/i18n/project_budget.pot | 88 ++++ project_budget/i18n/sl.po | 91 ++++ project_budget/models/__init__.py | 3 + project_budget/models/account_budget.py | 12 + project_budget/models/project.py | 15 + project_budget/readme/CONTRIBUTORS.rst | 2 + project_budget/readme/DESCRIPTION.rst | 4 + project_budget/readme/USAGE.rst | 5 + project_budget/security/ir.model.access.csv | 6 + project_budget/security/project_security.xml | 20 + project_budget/static/description/icon.png | Bin 0 -> 9455 bytes project_budget/static/description/index.html | 438 ++++++++++++++++++ project_budget/views/account_budget.xml | 21 + project_budget/views/project.xml | 55 +++ .../project_budget/odoo/addons/project_budget | 1 + setup/project_budget/setup.py | 6 + 20 files changed, 983 insertions(+) create mode 100644 project_budget/README.rst create mode 100644 project_budget/__init__.py create mode 100644 project_budget/__manifest__.py create mode 100644 project_budget/i18n/hr.po create mode 100644 project_budget/i18n/project_budget.pot create mode 100644 project_budget/i18n/sl.po create mode 100644 project_budget/models/__init__.py create mode 100644 project_budget/models/account_budget.py create mode 100644 project_budget/models/project.py create mode 100644 project_budget/readme/CONTRIBUTORS.rst create mode 100644 project_budget/readme/DESCRIPTION.rst create mode 100644 project_budget/readme/USAGE.rst create mode 100644 project_budget/security/ir.model.access.csv create mode 100644 project_budget/security/project_security.xml create mode 100644 project_budget/static/description/icon.png create mode 100644 project_budget/static/description/index.html create mode 100644 project_budget/views/account_budget.xml create mode 100644 project_budget/views/project.xml create mode 120000 setup/project_budget/odoo/addons/project_budget create mode 100644 setup/project_budget/setup.py diff --git a/project_budget/README.rst b/project_budget/README.rst new file mode 100644 index 0000000000..820055875b --- /dev/null +++ b/project_budget/README.rst @@ -0,0 +1,97 @@ +============== +Project Budget +============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:af6b189589d4535de3c3351375d803693302573ca1140a9a593c0ab83a2de53a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github + :target: https://github.com/OCA/project/tree/15.0/project_budget + :alt: OCA/project +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/project-15-0/project-15-0-project_budget + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=15.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module integrates the OCA Account Budget with Project. + +Budgets can be created and viewed directly from the project without the need +for additional accounting access. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +#. Have user rights for Project Budget viewer or manager group. +#. Open a project and view the Budget tab. +#. Create a new budget. The budget lines are visible on the project. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Patrick Wilson + +Contributors +~~~~~~~~~~~~ + +* Patrick Wilson +* Maxime Chambreuil + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-patrickrwilson| image:: https://github.com/patrickrwilson.png?size=40px + :target: https://github.com/patrickrwilson + :alt: patrickrwilson + +Current `maintainer `__: + +|maintainer-patrickrwilson| + +This module is part of the `OCA/project `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/project_budget/__init__.py b/project_budget/__init__.py new file mode 100644 index 0000000000..69f7babdfb --- /dev/null +++ b/project_budget/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/project_budget/__manifest__.py b/project_budget/__manifest__.py new file mode 100644 index 0000000000..ffb3c0516d --- /dev/null +++ b/project_budget/__manifest__.py @@ -0,0 +1,25 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Project Budget", + "summary": "Adds budget management to projects.", + "author": "Patrick Wilson,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/project", + "category": "Project Management", + "version": "15.0.1.0.0", + "license": "AGPL-3", + "depends": [ + "project", + "account_budget_oca", + "hr_timesheet", + ], + "data": [ + "security/project_security.xml", + "security/ir.model.access.csv", + "views/project.xml", + "views/account_budget.xml", + ], + "application": False, + "development_status": "Beta", + "maintainers": ["patrickrwilson"], +} diff --git a/project_budget/i18n/hr.po b/project_budget/i18n/hr.po new file mode 100644 index 0000000000..823e2dc36a --- /dev/null +++ b/project_budget/i18n/hr.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_budget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-12-02 16:28+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.9.1\n" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_crossovered_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget" +msgstr "Proračun" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id_lines +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget Lines" +msgstr "Stavke proračuna" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_state +msgid "Budget Status" +msgstr "Status proračuna" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__analytic_account_id +msgid "Default Analytic Account" +msgstr "Zadani analitički konto" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_manager +msgid "Manager" +msgstr "Manager" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Planned Amount" +msgstr "Planirani iznos" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Practical Amount" +msgstr "Praktični iznos" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__project_id +msgid "Project" +msgstr "Projekt" + +#. module: project_budget +#: model:ir.module.category,name:project_budget.module_category_project_budget +msgid "Project Budget" +msgstr "Proračun projekta" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Project Period" +msgstr "Period projekta" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Theoretical Amount" +msgstr "Teoretski iznos" + +#. module: project_budget +#: model:ir.module.category,description:project_budget.module_category_project_budget +msgid "User access level for Project Budgets" +msgstr "Razina pristupnih prava za Proračune projekata" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_viewer +msgid "Viewer" +msgstr "Gledatelj" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_project_project +msgid "WBS element" +msgstr "WBS element" diff --git a/project_budget/i18n/project_budget.pot b/project_budget/i18n/project_budget.pot new file mode 100644 index 0000000000..a3a012c2a2 --- /dev/null +++ b/project_budget/i18n/project_budget.pot @@ -0,0 +1,88 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_budget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_crossovered_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget" +msgstr "" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id_lines +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget Lines" +msgstr "" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_state +msgid "Budget Status" +msgstr "" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__analytic_account_id +msgid "Default Analytic Account" +msgstr "" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_manager +msgid "Manager" +msgstr "" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Planned Amount" +msgstr "" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Practical Amount" +msgstr "" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__project_id +msgid "Project" +msgstr "" + +#. module: project_budget +#: model:ir.module.category,name:project_budget.module_category_project_budget +msgid "Project Budget" +msgstr "" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Project Period" +msgstr "" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Theoretical Amount" +msgstr "" + +#. module: project_budget +#: model:ir.module.category,description:project_budget.module_category_project_budget +msgid "User access level for Project Budgets" +msgstr "" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_viewer +msgid "Viewer" +msgstr "" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_project_project +msgid "WBS element" +msgstr "" + diff --git a/project_budget/i18n/sl.po b/project_budget/i18n/sl.po new file mode 100644 index 0000000000..619aa08bb8 --- /dev/null +++ b/project_budget/i18n/sl.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_budget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-03-31 10:14+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: none\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 3.10\n" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_crossovered_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget" +msgstr "Proračun" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_id_lines +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Budget Lines" +msgstr "Postavke proračuna" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_project_project__budget_state +msgid "Budget Status" +msgstr "Status proračuna" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__analytic_account_id +msgid "Default Analytic Account" +msgstr "Privzeti analitični konto" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_manager +msgid "Manager" +msgstr "Upravitelj" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Planned Amount" +msgstr "Planirani znesek" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Practical Amount" +msgstr "Dejanski znesek" + +#. module: project_budget +#: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__project_id +msgid "Project" +msgstr "Projekt" + +#. module: project_budget +#: model:ir.module.category,name:project_budget.module_category_project_budget +msgid "Project Budget" +msgstr "Projektni proračun" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Project Period" +msgstr "Projektno obdobje" + +#. module: project_budget +#: model_terms:ir.ui.view,arch_db:project_budget.project_budget_inherit_form +msgid "Theoretical Amount" +msgstr "Teoretični znesek" + +#. module: project_budget +#: model:ir.module.category,description:project_budget.module_category_project_budget +msgid "User access level for Project Budgets" +msgstr "Uporabniške dostopne pravice za projektne proračune" + +#. module: project_budget +#: model:res.groups,name:project_budget.group_project_budget_viewer +msgid "Viewer" +msgstr "Gledalec" + +#. module: project_budget +#: model:ir.model,name:project_budget.model_project_project +msgid "WBS element" +msgstr "Projektni člen" diff --git a/project_budget/models/__init__.py b/project_budget/models/__init__.py new file mode 100644 index 0000000000..8538b73458 --- /dev/null +++ b/project_budget/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import account_budget, project diff --git a/project_budget/models/account_budget.py b/project_budget/models/account_budget.py new file mode 100644 index 0000000000..bf950e83dc --- /dev/null +++ b/project_budget/models/account_budget.py @@ -0,0 +1,12 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class CrossoveredBudget(models.Model): + _inherit = "crossovered.budget" + + project_id = fields.Many2one("project.project", string="Project") + analytic_account_id = fields.Many2one( + "account.analytic.account", string="Default Analytic Account" + ) diff --git a/project_budget/models/project.py b/project_budget/models/project.py new file mode 100644 index 0000000000..53a5b331e2 --- /dev/null +++ b/project_budget/models/project.py @@ -0,0 +1,15 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class Project(models.Model): + _inherit = "project.project" + + budget_id = fields.Many2one("crossovered.budget", string="Budget") + budget_id_lines = fields.One2many( + related="budget_id.crossovered_budget_line_ids", string="Budget Lines" + ) + budget_state = fields.Selection( + related="budget_id.state", string="Budget Status" + ) diff --git a/project_budget/readme/CONTRIBUTORS.rst b/project_budget/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..a8c60458a4 --- /dev/null +++ b/project_budget/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Patrick Wilson +* Maxime Chambreuil diff --git a/project_budget/readme/DESCRIPTION.rst b/project_budget/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..dfaa2b2971 --- /dev/null +++ b/project_budget/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +This module integrates the OCA Account Budget with Project. + +Budgets can be created and viewed directly from the project without the need +for additional accounting access. diff --git a/project_budget/readme/USAGE.rst b/project_budget/readme/USAGE.rst new file mode 100644 index 0000000000..4da6a177d5 --- /dev/null +++ b/project_budget/readme/USAGE.rst @@ -0,0 +1,5 @@ +To use this module, you need to: + +#. Have user rights for Project Budget viewer or manager group. +#. Open a project and view the Budget tab. +#. Create a new budget. The budget lines are visible on the project. diff --git a/project_budget/security/ir.model.access.csv b/project_budget/security/ir.model.access.csv new file mode 100644 index 0000000000..90f7beb744 --- /dev/null +++ b/project_budget/security/ir.model.access.csv @@ -0,0 +1,6 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_project_account_budget_post_internal,account_budget_post_internal,account_budget_oca.model_account_budget_post,project.group_project_user,1,0,0,0 +access_project_account_budget_internal,account_budget_internal,account_budget_oca.model_crossovered_budget,project.group_project_user,1,0,0,0 +access_project_account_budget_post_viewer,account_budget_post_viewer,account_budget_oca.model_account_budget_post,group_project_budget_viewer,1,0,0,0 +access_project_account_budget_manager,account_budget_manager,account_budget_oca.model_crossovered_budget,group_project_budget_manager,1,1,1,1 +access_project_account_move_line_manager,account_move_line_manager,account.model_account_move_line,group_project_budget_manager,1,0,0,0 diff --git a/project_budget/security/project_security.xml b/project_budget/security/project_security.xml new file mode 100644 index 0000000000..5320893533 --- /dev/null +++ b/project_budget/security/project_security.xml @@ -0,0 +1,20 @@ + + + + Project Budget + User access level for Project Budgets + 100 + + + Viewer + + + + + Manager + + + + + diff --git a/project_budget/static/description/icon.png b/project_budget/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/project_budget/static/description/index.html b/project_budget/static/description/index.html new file mode 100644 index 0000000000..fcf2a89fc6 --- /dev/null +++ b/project_budget/static/description/index.html @@ -0,0 +1,438 @@ + + + + + +Project Budget + + + +
+

Project Budget

+ + +

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

This module integrates the OCA Account Budget with Project.

+

Budgets can be created and viewed directly from the project without the need +for additional accounting access.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Have user rights for Project Budget viewer or manager group.
  2. +
  3. Open a project and view the Budget tab.
  4. +
  5. Create a new budget. The budget lines are visible on the project.
  6. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Patrick Wilson
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

patrickrwilson

+

This module is part of the OCA/project project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/project_budget/views/account_budget.xml b/project_budget/views/account_budget.xml new file mode 100644 index 0000000000..042220781d --- /dev/null +++ b/project_budget/views/account_budget.xml @@ -0,0 +1,21 @@ + + + + project.account.budget.inherit.form + crossovered.budget + + form + + + + + + + + {'default_date_from': date_from,'default_date_to': date_to, 'default_analytic_account_id': analytic_account_id} + + + + + diff --git a/project_budget/views/project.xml b/project_budget/views/project.xml new file mode 100644 index 0000000000..5e3c299674 --- /dev/null +++ b/project_budget/views/project.xml @@ -0,0 +1,55 @@ + + + + project.budget.inherit.form + project.project + + form + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup/project_budget/odoo/addons/project_budget b/setup/project_budget/odoo/addons/project_budget new file mode 120000 index 0000000000..559b4d4adc --- /dev/null +++ b/setup/project_budget/odoo/addons/project_budget @@ -0,0 +1 @@ +../../../../project_budget \ No newline at end of file diff --git a/setup/project_budget/setup.py b/setup/project_budget/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/project_budget/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From e82692423fc6507a4cca61bf601eb8d3a122478a Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 17 Sep 2025 02:13:47 -0400 Subject: [PATCH 2/8] [MIG] project_budget: Migration to 16.0 --- project_budget/__manifest__.py | 2 +- project_budget/models/project.py | 4 +--- project_budget/security/project_security.xml | 10 ++++++++-- project_budget/views/account_budget.xml | 5 ++++- project_budget/views/project.xml | 16 +++++++++++++--- 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/project_budget/__manifest__.py b/project_budget/__manifest__.py index ffb3c0516d..41fd9de06d 100644 --- a/project_budget/__manifest__.py +++ b/project_budget/__manifest__.py @@ -6,7 +6,7 @@ "author": "Patrick Wilson,Odoo Community Association (OCA)", "website": "https://github.com/OCA/project", "category": "Project Management", - "version": "15.0.1.0.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "depends": [ "project", diff --git a/project_budget/models/project.py b/project_budget/models/project.py index 53a5b331e2..6d5514259d 100644 --- a/project_budget/models/project.py +++ b/project_budget/models/project.py @@ -10,6 +10,4 @@ class Project(models.Model): budget_id_lines = fields.One2many( related="budget_id.crossovered_budget_line_ids", string="Budget Lines" ) - budget_state = fields.Selection( - related="budget_id.state", string="Budget Status" - ) + budget_state = fields.Selection(related="budget_id.state", string="Budget Status") diff --git a/project_budget/security/project_security.xml b/project_budget/security/project_security.xml index 5320893533..29f89ecdd3 100644 --- a/project_budget/security/project_security.xml +++ b/project_budget/security/project_security.xml @@ -13,8 +13,14 @@ Manager - + - + diff --git a/project_budget/views/account_budget.xml b/project_budget/views/account_budget.xml index 042220781d..3288f28323 100644 --- a/project_budget/views/account_budget.xml +++ b/project_budget/views/account_budget.xml @@ -4,7 +4,10 @@ project.account.budget.inherit.form crossovered.budget - + form diff --git a/project_budget/views/project.xml b/project_budget/views/project.xml index 5e3c299674..658b9d49dc 100644 --- a/project_budget/views/project.xml +++ b/project_budget/views/project.xml @@ -8,7 +8,11 @@ form - + - + - + From ee5d83acccbc088097dc4519f8a180c75dd4eebb Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 17 Sep 2025 02:23:01 -0400 Subject: [PATCH 3/8] [MIG] project_budget: Migration to 17.0 --- project_budget/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_budget/__manifest__.py b/project_budget/__manifest__.py index 41fd9de06d..df42936e59 100644 --- a/project_budget/__manifest__.py +++ b/project_budget/__manifest__.py @@ -6,7 +6,7 @@ "author": "Patrick Wilson,Odoo Community Association (OCA)", "website": "https://github.com/OCA/project", "category": "Project Management", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "license": "AGPL-3", "depends": [ "project", From 886d727b5254334178db978fd90349a02e244491 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 17 Sep 2025 02:27:57 -0400 Subject: [PATCH 4/8] [MIG] project_budget: Migration to 18.0 --- project_budget/README.rst | 30 +++++++++---------- project_budget/__manifest__.py | 2 +- project_budget/pyproject.toml | 3 ++ project_budget/readme/CONTRIBUTORS.md | 2 ++ project_budget/readme/CONTRIBUTORS.rst | 2 -- .../{DESCRIPTION.rst => DESCRIPTION.md} | 4 +-- project_budget/readme/USAGE.md | 5 ++++ project_budget/readme/USAGE.rst | 5 ---- project_budget/static/description/index.html | 10 +++---- project_budget/views/project.xml | 4 +-- 10 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 project_budget/pyproject.toml create mode 100644 project_budget/readme/CONTRIBUTORS.md delete mode 100644 project_budget/readme/CONTRIBUTORS.rst rename project_budget/readme/{DESCRIPTION.rst => DESCRIPTION.md} (72%) create mode 100644 project_budget/readme/USAGE.md delete mode 100644 project_budget/readme/USAGE.rst diff --git a/project_budget/README.rst b/project_budget/README.rst index 820055875b..4d1ded9603 100644 --- a/project_budget/README.rst +++ b/project_budget/README.rst @@ -17,21 +17,21 @@ Project Budget :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github - :target: https://github.com/OCA/project/tree/15.0/project_budget + :target: https://github.com/OCA/project/tree/18.0/project_budget :alt: OCA/project .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/project-15-0/project-15-0-project_budget + :target: https://translation.odoo-community.org/projects/project-18-0/project-18-0-project_budget :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=15.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| This module integrates the OCA Account Budget with Project. -Budgets can be created and viewed directly from the project without the need -for additional accounting access. +Budgets can be created and viewed directly from the project without the +need for additional accounting access. **Table of contents** @@ -43,9 +43,9 @@ Usage To use this module, you need to: -#. Have user rights for Project Budget viewer or manager group. -#. Open a project and view the Budget tab. -#. Create a new budget. The budget lines are visible on the project. +1. Have user rights for Project Budget viewer or manager group. +2. Open a project and view the Budget tab. +3. Create a new budget. The budget lines are visible on the project. Bug Tracker =========== @@ -53,7 +53,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -61,18 +61,18 @@ Credits ======= Authors -~~~~~~~ +------- * Patrick Wilson Contributors -~~~~~~~~~~~~ +------------ -* Patrick Wilson -* Maxime Chambreuil +- Patrick Wilson +- Maxime Chambreuil Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -92,6 +92,6 @@ Current `maintainer `__: |maintainer-patrickrwilson| -This module is part of the `OCA/project `_ project on GitHub. +This module is part of the `OCA/project `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/project_budget/__manifest__.py b/project_budget/__manifest__.py index df42936e59..e64ca17ed7 100644 --- a/project_budget/__manifest__.py +++ b/project_budget/__manifest__.py @@ -6,7 +6,7 @@ "author": "Patrick Wilson,Odoo Community Association (OCA)", "website": "https://github.com/OCA/project", "category": "Project Management", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "depends": [ "project", diff --git a/project_budget/pyproject.toml b/project_budget/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/project_budget/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/project_budget/readme/CONTRIBUTORS.md b/project_budget/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..d22e93ab1b --- /dev/null +++ b/project_budget/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Patrick Wilson \ +- Maxime Chambreuil \ diff --git a/project_budget/readme/CONTRIBUTORS.rst b/project_budget/readme/CONTRIBUTORS.rst deleted file mode 100644 index a8c60458a4..0000000000 --- a/project_budget/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Patrick Wilson -* Maxime Chambreuil diff --git a/project_budget/readme/DESCRIPTION.rst b/project_budget/readme/DESCRIPTION.md similarity index 72% rename from project_budget/readme/DESCRIPTION.rst rename to project_budget/readme/DESCRIPTION.md index dfaa2b2971..071ad5a862 100644 --- a/project_budget/readme/DESCRIPTION.rst +++ b/project_budget/readme/DESCRIPTION.md @@ -1,4 +1,4 @@ This module integrates the OCA Account Budget with Project. -Budgets can be created and viewed directly from the project without the need -for additional accounting access. +Budgets can be created and viewed directly from the project without the +need for additional accounting access. diff --git a/project_budget/readme/USAGE.md b/project_budget/readme/USAGE.md new file mode 100644 index 0000000000..c89e4306f5 --- /dev/null +++ b/project_budget/readme/USAGE.md @@ -0,0 +1,5 @@ +To use this module, you need to: + +1. Have user rights for Project Budget viewer or manager group. +2. Open a project and view the Budget tab. +3. Create a new budget. The budget lines are visible on the project. diff --git a/project_budget/readme/USAGE.rst b/project_budget/readme/USAGE.rst deleted file mode 100644 index 4da6a177d5..0000000000 --- a/project_budget/readme/USAGE.rst +++ /dev/null @@ -1,5 +0,0 @@ -To use this module, you need to: - -#. Have user rights for Project Budget viewer or manager group. -#. Open a project and view the Budget tab. -#. Create a new budget. The budget lines are visible on the project. diff --git a/project_budget/static/description/index.html b/project_budget/static/description/index.html index fcf2a89fc6..4468c6c95d 100644 --- a/project_budget/static/description/index.html +++ b/project_budget/static/description/index.html @@ -369,10 +369,10 @@

Project Budget

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:af6b189589d4535de3c3351375d803693302573ca1140a9a593c0ab83a2de53a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

This module integrates the OCA Account Budget with Project.

-

Budgets can be created and viewed directly from the project without the need -for additional accounting access.

+

Budgets can be created and viewed directly from the project without the +need for additional accounting access.

Table of contents

    @@ -400,7 +400,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -429,7 +429,7 @@

Maintainers

promote its widespread use.

Current maintainer:

patrickrwilson

-

This module is part of the OCA/project project on GitHub.

+

This module is part of the OCA/project project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/project_budget/views/project.xml b/project_budget/views/project.xml index 658b9d49dc..4fc5f2aa25 100644 --- a/project_budget/views/project.xml +++ b/project_budget/views/project.xml @@ -36,7 +36,7 @@
- @@ -55,7 +55,7 @@ sum="Theoretical Amount" /> - +
From 63a03a429cc2ab9af82f6dc8e34dacb877a8a75a Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 17 Sep 2025 02:54:03 -0400 Subject: [PATCH 5/8] [UPD] format project_budget --- project_budget/static/description/index.html | 1021 +++++++++++------- project_budget/views/project.xml | 6 +- 2 files changed, 618 insertions(+), 409 deletions(-) diff --git a/project_budget/static/description/index.html b/project_budget/static/description/index.html index 4468c6c95d..60c3e82995 100644 --- a/project_budget/static/description/index.html +++ b/project_budget/static/description/index.html @@ -1,12 +1,11 @@ - - - -Project Budget - - - -
-

Project Budget

- - -

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

-

This module integrates the OCA Account Budget with Project.

-

Budgets can be created and viewed directly from the project without the -need for additional accounting access.

-

Table of contents

- -
-

Usage

-

To use this module, you need to:

-
    -
  1. Have user rights for Project Budget viewer or manager group.
  2. -
  3. Open a project and view the Budget tab.
  4. -
  5. Create a new budget. The budget lines are visible on the project.
  6. -
-
-
-

Bug Tracker

-

Bugs are tracked on GitHub Issues. -In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

-

Do not contact contributors directly about support or help with technical issues.

-
-
-

Credits

-
-

Authors

-
    -
  • Patrick Wilson
  • -
-
- -
-

Maintainers

-

This module is maintained by the OCA.

- -Odoo Community Association - -

OCA, or the Odoo Community Association, is a nonprofit organization whose -mission is to support the collaborative development of Odoo features and -promote its widespread use.

-

Current maintainer:

-

patrickrwilson

-

This module is part of the OCA/project project on GitHub.

-

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

-
-
-
- +

+ Beta + License: AGPL-3 + OCA/project + Translate me on Weblate + Try me on Runboat +

+

This module integrates the OCA Account Budget with Project.

+

+ Budgets can be created and viewed directly from the project without the need for additional accounting + access. +

+

Table of contents

+
+ +
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Have user rights for Project Budget viewer or manager group.
  2. +
  3. Open a project and view the Budget tab.
  4. +
  5. Create a new budget. The budget lines are visible on the project.
  6. +
+
+
+

Bug Tracker

+

+ Bugs are tracked on + GitHub Issues. In + case of trouble, please check there if your issue has already been reported. If you spotted it + first, help us to smash it by providing a detailed and welcomed + feedback. +

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Patrick Wilson
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ + Odoo Community Association + +

+ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support + the collaborative development of Odoo features and promote its widespread use. +

+

+ Current + maintainer: +

+

+ patrickrwilson +

+

+ This module is part of the + OCA/project + project on GitHub. +

+

+ You are welcome to contribute. To learn how please visit + https://odoo-community.org/page/Contribute. +

+
+
+ + diff --git a/project_budget/views/project.xml b/project_budget/views/project.xml index 4fc5f2aa25..7d9de7a9b6 100644 --- a/project_budget/views/project.xml +++ b/project_budget/views/project.xml @@ -17,11 +17,9 @@ From 54720dec96c5aa0a40e3b5d34651698f14011b0d Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Mon, 8 Dec 2025 21:20:10 -0500 Subject: [PATCH 6/8] [UPD] project_budget: adapt odoo 18 OCA addons - update contribution list --- project_budget/README.rst | 1 + project_budget/readme/CONTRIBUTORS.md | 1 + setup/_metapackage/pyproject.toml | 1 + setup/project_budget/odoo/addons/project_budget | 1 - setup/project_budget/setup.py | 6 ------ 5 files changed, 3 insertions(+), 7 deletions(-) delete mode 120000 setup/project_budget/odoo/addons/project_budget delete mode 100644 setup/project_budget/setup.py diff --git a/project_budget/README.rst b/project_budget/README.rst index 4d1ded9603..35fcc7a8e1 100644 --- a/project_budget/README.rst +++ b/project_budget/README.rst @@ -70,6 +70,7 @@ Contributors - Patrick Wilson - Maxime Chambreuil +- Mathieu Benoit Maintainers ----------- diff --git a/project_budget/readme/CONTRIBUTORS.md b/project_budget/readme/CONTRIBUTORS.md index d22e93ab1b..5a607d0949 100644 --- a/project_budget/readme/CONTRIBUTORS.md +++ b/project_budget/readme/CONTRIBUTORS.md @@ -1,2 +1,3 @@ - Patrick Wilson \ - Maxime Chambreuil \ +- Mathieu Benoit \ diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index f1306707ad..4d8d2ce30f 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -3,6 +3,7 @@ name = "odoo-addons-oca-project" version = "18.0.20260130.0" dependencies = [ "odoo-addon-project_administrator_restricted_visibility==18.0.*", + "odoo-addon-project_budget==18.0.*", "odoo-addon-project_department==18.0.*", "odoo-addon-project_group==18.0.*", "odoo-addon-project_hr==18.0.*", diff --git a/setup/project_budget/odoo/addons/project_budget b/setup/project_budget/odoo/addons/project_budget deleted file mode 120000 index 559b4d4adc..0000000000 --- a/setup/project_budget/odoo/addons/project_budget +++ /dev/null @@ -1 +0,0 @@ -../../../../project_budget \ No newline at end of file diff --git a/setup/project_budget/setup.py b/setup/project_budget/setup.py deleted file mode 100644 index 28c57bb640..0000000000 --- a/setup/project_budget/setup.py +++ /dev/null @@ -1,6 +0,0 @@ -import setuptools - -setuptools.setup( - setup_requires=['setuptools-odoo'], - odoo_addon=True, -) From 7dfeb19c040081606b5c5988197b19e9608f536c Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 23 Apr 2026 13:37:44 +0000 Subject: [PATCH 7/8] [UPD] Update project_budget.pot --- project_budget/i18n/project_budget.pot | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/project_budget/i18n/project_budget.pot b/project_budget/i18n/project_budget.pot index a3a012c2a2..46829e66a9 100644 --- a/project_budget/i18n/project_budget.pot +++ b/project_budget/i18n/project_budget.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * project_budget +# * project_budget # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -52,6 +52,7 @@ msgid "Practical Amount" msgstr "" #. module: project_budget +#: model:ir.model,name:project_budget.model_project_project #: model:ir.model.fields,field_description:project_budget.field_crossovered_budget__project_id msgid "Project" msgstr "" @@ -80,9 +81,3 @@ msgstr "" #: model:res.groups,name:project_budget.group_project_budget_viewer msgid "Viewer" msgstr "" - -#. module: project_budget -#: model:ir.model,name:project_budget.model_project_project -msgid "WBS element" -msgstr "" - From 3391ccf17bab42caed393732d9ff29d3c1e06094 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 23 Apr 2026 13:43:57 +0000 Subject: [PATCH 8/8] [BOT] post-merge updates --- README.md | 1 + project_budget/README.rst | 8 +- project_budget/static/description/index.html | 1030 +++++++----------- 3 files changed, 420 insertions(+), 619 deletions(-) diff --git a/README.md b/README.md index 96bd249fc5..ba4dc31794 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Available addons addon | version | maintainers | summary --- | --- | --- | --- [project_administrator_restricted_visibility](project_administrator_restricted_visibility/) | 18.0.1.0.0 | rafaelbn edlopen | Adds a 'Project Administrator' access group with restricted visibility to 'Projects' +[project_budget](project_budget/) | 18.0.1.0.0 | patrickrwilson | Adds budget management to projects. [project_department](project_department/) | 18.0.1.0.0 | | Project Department Categorization [project_group](project_group/) | 18.0.1.0.0 | | Add groups for filtering on projects [project_hr](project_hr/) | 18.0.1.0.1 | pedrobaeza | Link HR with project diff --git a/project_budget/README.rst b/project_budget/README.rst index 35fcc7a8e1..f372616c03 100644 --- a/project_budget/README.rst +++ b/project_budget/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============== Project Budget ============== @@ -7,13 +11,13 @@ Project Budget !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:af6b189589d4535de3c3351375d803693302573ca1140a9a593c0ab83a2de53a + !! source digest: sha256:8b4f6362692a8d0e21ab7eb42c1d084063138c63b9cb53c2cabf23a946bbf360 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github diff --git a/project_budget/static/description/index.html b/project_budget/static/description/index.html index 60c3e82995..a2f9cf7072 100644 --- a/project_budget/static/description/index.html +++ b/project_budget/static/description/index.html @@ -1,11 +1,12 @@ - - - - Project Budget - - - -
-

Project Budget

- - -

- Beta - License: AGPL-3 - OCA/project - Translate me on Weblate - Try me on Runboat -

-

This module integrates the OCA Account Budget with Project.

-

- Budgets can be created and viewed directly from the project without the need for additional accounting - access. -

-

Table of contents

-
- -
-
-

Usage

-

To use this module, you need to:

-
    -
  1. Have user rights for Project Budget viewer or manager group.
  2. -
  3. Open a project and view the Budget tab.
  4. -
  5. Create a new budget. The budget lines are visible on the project.
  6. -
-
-
-

Bug Tracker

-

- Bugs are tracked on - GitHub Issues. In - case of trouble, please check there if your issue has already been reported. If you spotted it - first, help us to smash it by providing a detailed and welcomed - feedback. -

-

Do not contact contributors directly about support or help with technical issues.

-
-
-

Credits

-
-

Authors

-
    -
  • Patrick Wilson
  • -
-
-
-

Contributors

- -
-
-

Maintainers

-

This module is maintained by the OCA.

- - Odoo Community Association - -

- OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support - the collaborative development of Odoo features and promote its widespread use. -

-

- Current - maintainer: -

-

- patrickrwilson -

-

- This module is part of the - OCA/project - project on GitHub. -

-

- You are welcome to contribute. To learn how please visit - https://odoo-community.org/page/Contribute. -

-
-
-
- +

Beta License: AGPL-3 OCA/project Translate me on Weblate Try me on Runboat

+

This module integrates the OCA Account Budget with Project.

+

Budgets can be created and viewed directly from the project without the +need for additional accounting access.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Have user rights for Project Budget viewer or manager group.
  2. +
  3. Open a project and view the Budget tab.
  4. +
  5. Create a new budget. The budget lines are visible on the project.
  6. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Patrick Wilson
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

patrickrwilson

+

This module is part of the OCA/project project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+ + +