issue12131.diff [analytic_invoice] UpdateAsset Wizard not ser analytic lines in moves

#135951
This commit is contained in:
Raimon Esteve 2023-03-17 19:06:45 +01:00
parent 57648a428b
commit 197e10da4f
2 changed files with 47 additions and 0 deletions

45
issue12131.diff Normal file
View file

@ -0,0 +1,45 @@
diff --git a/tryton/modules/analytic_invoice/__init__.py b/tryton/modules/analytic_invoice/__init__.py
index e5b724200d..5ffa82beed 100644
--- a/tryton/modules/analytic_invoice/__init__.py
+++ b/tryton/modules/analytic_invoice/__init__.py
@@ -19,3 +19,7 @@ def register():
asset.UpdateAsset,
module='analytic_invoice', type_='wizard',
depends=['account_asset'])
+ Pool.register(
+ asset.UpdateAsset,
+ module='analytic_invoice', type_='wizard',
+ depends=['account_asset'])
diff --git a/modules/analytic_invoice/asset.py b/modules/analytic_invoice/asset.py
index f7a71a45d5..4024bac2a3 100644
--- a/tryton/modules/analytic_invoice/asset.py
+++ b/tryton/modules/analytic_invoice/asset.py
@@ -57,3 +57,28 @@ class Asset(AnalyticMixin, metaclass=PoolMeta):
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_lines(self, asset):
+ lines = super().get_move_lines(asset)
+ if not lines:
+ return lines
+ self.set_analytic_lines(lines, asset)
+ return lines
+
+ def set_analytic_lines(self, lines, asset):
+ "Fill analytic lines on lines with given account"
+ account = asset.product.account_expense_used
+ if asset.analytic_accounts:
+ with Transaction().set_context(date=self.show_move.date):
+ for line in lines:
+ if line.account != account:
+ continue
+ analytic_lines = []
+ for entry in asset.analytic_accounts:
+ analytic_lines.extend(
+ entry.get_analytic_lines(line, self.show_move.date))
+ line.analytic_lines = analytic_lines

2
series
View file

@ -39,3 +39,5 @@ issue11582.diff # [trytond] Add authentication services
issue11582-sao.diff # [sao] Add authentication services
issue12119.diff # [trytond] Transaction cache not always cleaned
issue12131.diff # [analytic_invoice] UpdateAsset Wizard not ser analytic lines in moves