diff --git a/account_asset_management/models/account_asset.py b/account_asset_management/models/account_asset.py index 408519e9..4428ad2f 100644 --- a/account_asset_management/models/account_asset.py +++ b/account_asset_management/models/account_asset.py @@ -34,6 +34,7 @@ class AccountAsset(models.Model): _name = "account.asset" _description = "Asset" _order = "date_start desc, code, name" + _check_company_auto = True account_move_line_ids = fields.One2many( comodel_name="account.move.line", @@ -41,6 +42,7 @@ class AccountAsset(models.Model): string="Entries", readonly=True, copy=False, + check_company=True, ) move_line_check = fields.Boolean( compute="_compute_move_line_check", string="Has accounting entries" @@ -98,6 +100,7 @@ class AccountAsset(models.Model): change_default=True, required=True, states=READONLY_STATES, + check_company=True, ) group_ids = fields.Many2many( comodel_name="account.asset.group", @@ -252,6 +255,7 @@ class AccountAsset(models.Model): string="Depreciation Lines", copy=False, states=READONLY_STATES, + check_company=True, ) company_id = fields.Many2one( comodel_name="res.company", diff --git a/account_asset_management/models/account_asset_group.py b/account_asset_management/models/account_asset_group.py index ecd5155b..56b96e37 100644 --- a/account_asset_management/models/account_asset_group.py +++ b/account_asset_management/models/account_asset_group.py @@ -12,6 +12,7 @@ class AccountAssetGroup(models.Model): _description = "Asset Group" _order = "code, name" _parent_store = True + _check_company_auto = True name = fields.Char(string="Name", size=64, required=True, index=True) code = fields.Char(index=True) @@ -26,11 +27,13 @@ class AccountAssetGroup(models.Model): comodel_name="account.asset.group", string="Parent Asset Group", ondelete="restrict", + check_company=True, ) child_ids = fields.One2many( comodel_name="account.asset.group", inverse_name="parent_id", string="Child Asset Groups", + check_company=True, ) @api.model diff --git a/account_asset_management/models/account_asset_line.py b/account_asset_management/models/account_asset_line.py index 79b1a911..29d47092 100644 --- a/account_asset_management/models/account_asset_line.py +++ b/account_asset_management/models/account_asset_line.py @@ -10,10 +10,12 @@ class AccountAssetLine(models.Model): _name = "account.asset.line" _description = "Asset depreciation table line" _order = "type, line_date" + _check_company_auto = True name = fields.Char(string="Depreciation Name", size=64, readonly=True) asset_id = fields.Many2one( - comodel_name="account.asset", string="Asset", required=True, ondelete="cascade" + comodel_name="account.asset", string="Asset", required=True, ondelete="cascade", + check_company=True, ) previous_id = fields.Many2one( comodel_name="account.asset.line", @@ -42,7 +44,8 @@ class AccountAssetLine(models.Model): line_date = fields.Date(string="Date", required=True) line_days = fields.Integer(string="Days", readonly=True) move_id = fields.Many2one( - comodel_name="account.move", string="Depreciation Entry", readonly=True + comodel_name="account.move", string="Depreciation Entry", readonly=True, + check_company=True, ) move_check = fields.Boolean( compute="_compute_move_check", string="Posted", store=True @@ -61,6 +64,12 @@ class AccountAssetLine(models.Model): help="Set this flag for entries of previous fiscal years " "for which Odoo has not generated accounting entries.", ) + company_id = fields.Many2one( + 'res.company', + store=True, + readonly=True, + related='asset_id.company_id', + ) @api.depends("amount", "previous_id", "type") def _compute_values(self): diff --git a/account_asset_management/models/account_asset_profile.py b/account_asset_management/models/account_asset_profile.py index 1d43d2b0..11830f7d 100644 --- a/account_asset_management/models/account_asset_profile.py +++ b/account_asset_management/models/account_asset_profile.py @@ -7,6 +7,7 @@ from odoo.exceptions import UserError class AccountAssetProfile(models.Model): _name = "account.asset.profile" + _check_company_auto = True _description = "Asset profile" _order = "name" @@ -20,41 +21,48 @@ class AccountAssetProfile(models.Model): ) account_asset_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", string="Asset Account", + check_company=True, required=True, ) account_depreciation_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", string="Depreciation Account", + check_company=True, required=True, ) account_expense_depreciation_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", string="Depr. Expense Account", + check_company=True, required=True, ) account_plus_value_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", + check_company=True, string="Plus-Value Account", ) account_min_value_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", + check_company=True, string="Min-Value Account", ) account_residual_value_id = fields.Many2one( comodel_name="account.account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", + check_company=True, string="Residual Value Account", ) journal_id = fields.Many2one( comodel_name="account.journal", - domain=[("type", "=", "general")], + domain="[('type', '=', 'general'), ('company_id', '=', company_id)]", string="Journal", + check_company=True, required=True, ) company_id = fields.Many2one( @@ -68,6 +76,7 @@ class AccountAssetProfile(models.Model): relation="account_asset_profile_group_rel", column1="profile_id", column2="group_id", + check_company=True, string="Asset Groups", ) method = fields.Selection( diff --git a/account_asset_management/wizard/account_asset_remove.py b/account_asset_management/wizard/account_asset_remove.py index d7363644..c0796dfa 100644 --- a/account_asset_management/wizard/account_asset_remove.py +++ b/account_asset_management/wizard/account_asset_remove.py @@ -15,7 +15,15 @@ _logger = logging.getLogger(__name__) class AccountAssetRemove(models.TransientModel): _name = "account.asset.remove" _description = "Remove Asset" + _check_company_auto = True + company_id = fields.Many2one( + comodel_name="res.company", + string="Company", + readonly=True, + required=True, + default=lambda self: self._default_company_id(), + ) date_remove = fields.Date( string="Asset Removal Date", required=True, @@ -30,25 +38,25 @@ class AccountAssetRemove(models.TransientModel): account_sale_id = fields.Many2one( comodel_name="account.account", string="Asset Sale Account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", default=lambda self: self._default_account_sale_id(), ) account_plus_value_id = fields.Many2one( comodel_name="account.account", string="Plus-Value Account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", default=lambda self: self._default_account_plus_value_id(), ) account_min_value_id = fields.Many2one( comodel_name="account.account", string="Min-Value Account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", default=lambda self: self._default_account_min_value_id(), ) account_residual_value_id = fields.Many2one( comodel_name="account.account", string="Residual Value Account", - domain=[("deprecated", "=", False)], + domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", default=lambda self: self._default_account_residual_value_id(), ) posting_regime = fields.Selection( @@ -69,6 +77,12 @@ class AccountAssetRemove(models.TransientModel): if self.sale_value < 0: raise ValidationError(_("The Sale Value must be positive!")) + @api.model + def _default_company_id(self): + asset_id = self.env.context.get("active_id") + asset = self.env['account.asset'].browse(asset_id) + return asset.company_id + @api.model def _default_sale_value(self): return self._get_sale()["sale_value"] diff --git a/account_asset_management/wizard/account_asset_remove.xml b/account_asset_management/wizard/account_asset_remove.xml index 23326f2d..10a74e4b 100644 --- a/account_asset_management/wizard/account_asset_remove.xml +++ b/account_asset_management/wizard/account_asset_remove.xml @@ -6,6 +6,7 @@
+