Cédric Krier pushed to branch branch/default at Tryton / Tryton
Commits:
327d6259 by Cédric Krier at 2023-03-18T00:47:46+01:00
Set analytic lines on account move from asset update
Closes #12131
- - - - -
4 changed files:
- modules/account_asset/asset.py
- modules/analytic_invoice/__init__.py
- modules/analytic_invoice/asset.py
- modules/analytic_invoice/tests/scenario_analytic_invoice_asset.rst
Changes:
=====================================
modules/account_asset/asset.py
=====================================
@@ -887,10 +887,10 @@
Period = pool.get('account.period')
Move = pool.get('account.move')
period = Period.find(asset.company, self.show_move.date)
- return Move(
+ move = Move(
company=asset.company,
origin=asset,
journal=asset.account_journal.id,
period=period,
date=self.show_move.date,
)
@@ -891,9 +891,11 @@
company=asset.company,
origin=asset,
journal=asset.account_journal.id,
period=period,
date=self.show_move.date,
)
+ move.lines = self.get_move_lines(asset)
+ return move
def get_move_lines(self, asset):
MoveLine = Pool().get('account.move.line')
@@ -918,7 +920,6 @@
if not (latest_move_date <= self.show_move.date <= next_date):
raise ValueError('The update move date is invalid')
move = self.get_move(self.record)
- move.lines = self.get_move_lines(self.record)
move.save()
self.model.write([self.record], {
'update_moves': [('add', [move.id])],
=====================================
modules/analytic_invoice/__init__.py
=====================================
@@ -15,3 +15,7 @@
asset.Asset,
module='analytic_invoice', type_='model',
depends=['account_asset'])
+ Pool.register(
+ asset.UpdateAsset,
+ module='analytic_invoice', type_='wizard',
+ depends=['account_asset'])
=====================================
modules/analytic_invoice/asset.py
=====================================
@@ -57,3 +57,12 @@
analytic_lines.extend(
entry.get_analytic_lines(line, move.date))
line.analytic_lines = analytic_lines
+
+
+class UpdateAsset(metaclass=PoolMeta):
+ __name__ = 'account.asset.update'
+
+ def get_move(self, asset):
+ move = super().get_move(asset)
+ asset.set_analytic_lines(move, self.show_move.counterpart_account)
+ return move
=====================================
modules/analytic_invoice/tests/scenario_analytic_invoice_asset.rst
=====================================
@@ -132,6 +132,19 @@
>>> analytic_account.credit
Decimal('0.00')
+Update the asset::
+
+ >>> update = Wizard('account.asset.update', [asset])
+ >>> update.form.value = Decimal('950.00')
+ >>> update.execute('update_asset')
+ >>> update.form.date = update.form.next_depreciation_date
+ >>> update.execute('create_move')
+ >>> analytic_account.reload()
+ >>> analytic_account.debit
+ Decimal('150.00')
+ >>> analytic_account.credit
+ Decimal('0.00')
+
Close the asset::
>>> asset.click('close')
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/327d6259e56a3be84ed1264c07db87b36f475f83
--
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/327d6259e56a3be84ed1264c07db87b36f475f83
You're receiving this email because of your account on foss.heptapod.net.