Convert onchange to computed

This commit is contained in:
Andrea
2019-09-30 18:06:50 +02:00
committed by Borruso
parent b8e91371e1
commit 5574d668b9
2 changed files with 22 additions and 13 deletions

View File

@@ -95,8 +95,8 @@ class TestAccountTaxBalance(HttpCase):
wizard = self.env['wizard.open.tax.balances'].new({ wizard = self.env['wizard.open.tax.balances'].new({
'date_range_id': current_range[0].id, 'date_range_id': current_range[0].id,
}) })
wizard.onchange_date_range_id() self.assertEqual(wizard.from_date, current_range[0].date_start)
wizard._convert_to_write(wizard._cache) self.assertEqual(wizard.to_date, current_range[0].date_end)
action = wizard.open_taxes() action = wizard.open_taxes()
self.assertEqual( self.assertEqual(
action['context']['from_date'], current_range[0].date_start) action['context']['from_date'], current_range[0].date_start)

View File

@@ -9,23 +9,32 @@ class WizardOpenTaxBalances(models.TransientModel):
_description = 'Wizard Open Tax Balances' _description = 'Wizard Open Tax Balances'
company_id = fields.Many2one( company_id = fields.Many2one(
'res.company', 'Company', required=True, 'res.company', required=True,
default=lambda self: self.env.user.company_id) default=lambda self: self.env.user.company_id)
from_date = fields.Date('From date', required=True) from_date = fields.Date(
to_date = fields.Date('To date', required=True) required=True,
date_range_id = fields.Many2one('date.range', 'Date range') store=True,
readonly=False,
compute='_compute_date_range')
to_date = fields.Date(
required=True,
store=True,
readonly=False,
compute='_compute_date_range')
date_range_id = fields.Many2one('date.range')
target_move = fields.Selection([ target_move = fields.Selection([
('posted', 'All Posted Entries'), ('posted', 'All Posted Entries'),
('all', 'All Entries'), ('all', 'All Entries'),
], 'Target Moves', required=True, default='posted') ], 'Target Moves', required=True, default='posted')
@api.onchange('date_range_id') @api.depends('date_range_id')
def onchange_date_range_id(self): def _compute_date_range(self):
if self.date_range_id: for wizard in self:
self.from_date = self.date_range_id.date_start if wizard.date_range_id:
self.to_date = self.date_range_id.date_end wizard.from_date = wizard.date_range_id.date_start
else: wizard.to_date = wizard.date_range_id.date_end
self.from_date = self.to_date = None else:
wizard.from_date = wizard.to_date = None
def open_taxes(self): def open_taxes(self):
self.ensure_one() self.ensure_one()