forked from Mapan/odoo17e
36 lines
1.7 KiB
Python
36 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models, _
|
|
|
|
|
|
class AccountAccount(models.Model):
|
|
_inherit = 'account.account'
|
|
|
|
asset_model = fields.Many2one(
|
|
'account.asset',
|
|
domain=[('state', '=', 'model')],
|
|
help="If this is selected, an expense/revenue will be created automatically "
|
|
"when Journal Items on this account are posted.",
|
|
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 = 'account_asset.view_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
|