From 8811072b04980d6c478b18355ac6dfb8aaaddb5f Mon Sep 17 00:00:00 2001 From: Saran440 Date: Tue, 24 Sep 2024 15:20:02 +0700 Subject: [PATCH] [IMP] budget_control: multi-company budget adjustment --- budget_control/__manifest__.py | 1 + budget_control/models/budget_control.py | 1 - .../models/budget_move_adjustment.py | 19 ++++++++++++++++++- .../security/budget_adjustment_rules.xml | 13 +++++++++++++ .../views/budget_move_adjustment_view.xml | 5 +++++ 5 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 budget_control/security/budget_adjustment_rules.xml diff --git a/budget_control/__manifest__.py b/budget_control/__manifest__.py index 755fa743..8430b8bc 100644 --- a/budget_control/__manifest__.py +++ b/budget_control/__manifest__.py @@ -19,6 +19,7 @@ "data/sequence_data.xml", "security/budget_control_security_groups.xml", "security/budget_control_rules.xml", + "security/budget_adjustment_rules.xml", "security/ir.model.access.csv", "wizards/generate_budget_control_view.xml", "wizards/analytic_budget_info_view.xml", diff --git a/budget_control/models/budget_control.py b/budget_control/models/budget_control.py index c79e0f1a..cb83ca18 100644 --- a/budget_control/models/budget_control.py +++ b/budget_control/models/budget_control.py @@ -84,7 +84,6 @@ class BudgetControl(models.Model): ) company_id = fields.Many2one( comodel_name="res.company", - string="Company", default=lambda self: self.env.company, required=True, readonly=True, diff --git a/budget_control/models/budget_move_adjustment.py b/budget_control/models/budget_move_adjustment.py index 80a4670e..3574e7cf 100644 --- a/budget_control/models/budget_move_adjustment.py +++ b/budget_control/models/budget_move_adjustment.py @@ -41,9 +41,19 @@ class BudgetMoveAdjustment(models.Model): states={"draft": [("readonly", False)]}, tracking=True, ) + company_id = fields.Many2one( + comodel_name="res.company", + default=lambda self: self.env.company, + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + index=True, + ) currency_id = fields.Many2one( comodel_name="res.currency", - default=lambda self: self.env.user.company_id.currency_id, + related="company_id.currency_id", + store=True, + states={"draft": [("readonly", False)]}, ) state = fields.Selection( [ @@ -144,6 +154,13 @@ class BudgetMoveAdjustmentItem(models.Model): account_id = fields.Many2one( comodel_name="account.account", required=True, + index=True, + ) + company_id = fields.Many2one( + related="adjust_id.company_id", + store=True, + readonly=True, + index=True, ) currency_id = fields.Many2one( related="adjust_id.currency_id", diff --git a/budget_control/security/budget_adjustment_rules.xml b/budget_control/security/budget_adjustment_rules.xml new file mode 100644 index 00000000..aeccdb74 --- /dev/null +++ b/budget_control/security/budget_adjustment_rules.xml @@ -0,0 +1,13 @@ + + + + + Budget Adjustment multi-company + + [('company_id', 'in', company_ids)] + + diff --git a/budget_control/views/budget_move_adjustment_view.xml b/budget_control/views/budget_move_adjustment_view.xml index d5395eb0..1a142607 100644 --- a/budget_control/views/budget_move_adjustment_view.xml +++ b/budget_control/views/budget_move_adjustment_view.xml @@ -39,6 +39,7 @@ + +