From ce8f7f871180e7816a15d652570e912567370ec3 Mon Sep 17 00:00:00 2001 From: git_admin Date: Tue, 28 Apr 2026 07:34:55 +0000 Subject: [PATCH] Tower: upload at_accounting 18.0.1.7 (via marketplace) --- .../at_accounting/models/account_account.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 addons/at_accounting/models/account_account.py diff --git a/addons/at_accounting/models/account_account.py b/addons/at_accounting/models/account_account.py new file mode 100644 index 0000000..0cfa2ec --- /dev/null +++ b/addons/at_accounting/models/account_account.py @@ -0,0 +1,45 @@ +import ast +from odoo import api, fields, models, _ + + +class AccountAccount(models.Model): + _inherit = "account.account" + + def action_open_reconcile(self): + self.ensure_one() + # Open reconciliation view for this account + action_values = self.env['ir.actions.act_window']._for_xml_id('at_accounting.action_move_line_posted_unreconciled') + domain = ast.literal_eval(action_values['domain']) + domain.append(('account_id', '=', self.id)) + action_values['domain'] = domain + return action_values + + exclude_provision_currency_ids = fields.Many2many('res.currency', relation='account_account_exclude_res_currency_provision', help="Whether or not we have to make provisions for the selected foreign currencies.") + budget_item_ids = fields.One2many(comodel_name='account.report.budget.item', inverse_name='account_id') # To use it in the domain when adding accounts from the report + + asset_model_ids = fields.Many2many( + 'account.asset', + domain=[('state', '=', 'model')], + help="An asset wil be created for each asset model when this account is used on a vendor bill or a refund", + tracking=True, + ) + create_asset = fields.Selection([('no', 'No'), ('draft', 'Create in draft'), ('validate', 'Create and validate')], + required=True, default='no', tracking=True) + # specify if the account can generate asset depending on it's type. It is used in the account form view + can_create_asset = fields.Boolean(compute="_compute_can_create_asset") + form_view_ref = fields.Char(compute='_compute_can_create_asset') + # decimal quantities are not supported, quantities are rounded to the lower int + multiple_assets_per_line = fields.Boolean(string='Multiple Assets per Line', default=False, tracking=True, + help="Multiple asset items will be generated depending on the bill line quantity instead of 1 global asset.") + + @api.depends('account_type') + def _compute_can_create_asset(self): + for record in self: + record.can_create_asset = record.account_type in ('asset_fixed', 'asset_non_current') + record.form_view_ref = 'at_accountingview_account_asset_form' + + @api.onchange('create_asset') + def _onchange_multiple_assets_per_line(self): + for record in self: + if record.create_asset == 'no': + record.multiple_assets_per_line = False