From 94169fb41602d5993a709c919c57a3ac9393f3d3 Mon Sep 17 00:00:00 2001 From: Frederik Jaeckel Date: Fri, 16 Dec 2022 14:17:28 +0100 Subject: [PATCH] asset: rekursion behoben, erlaubt aktion nach update --- asset.py | 4 +++- update_wiz.py | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/asset.py b/asset.py index b6b87f0..ddfcd21 100644 --- a/asset.py +++ b/asset.py @@ -318,6 +318,8 @@ class Asset(SymbolMixin, ModelSQL, ModelView): def get_rate_data(cls, assets, names): """ get date and rate of asset """ + Asset2 = Pool().get('investment.asset') + cursor = Transaction().connection.cursor() (query, tab_asset) = cls.get_rate_data_sql() query.where=tab_asset.id.in_([x.id for x in assets]) @@ -330,7 +332,7 @@ class Asset(SymbolMixin, ModelSQL, ModelView): for record in records: (id1, rate1, date1) = record - asset = Asset(id1) + asset = Asset2(id1) exp = Decimal(Decimal(1) / 10 ** (asset.currency_digits or 4)) values = {'rate': record[1].quantize(exp), 'date': record[2]} diff --git a/update_wiz.py b/update_wiz.py index 0c16980..0ddcbd5 100644 --- a/update_wiz.py +++ b/update_wiz.py @@ -24,8 +24,15 @@ class UpdateSoureWizard(Wizard): context = Transaction().context assets = Asset.browse(context.get('active_ids', [])) + to_run_activities = [] for asset in assets: - OnlineSource.update_rate(asset) + if OnlineSource.update_rate(asset): + to_run_activities.append(asset) + + if len(to_run_activities) > 0: + Asset.after_update_actions(to_run_activities) + return 'end' # UpdateSoureWizard +