From f7d71be798db1f2f44e1a1bf85744b1d118ca6f3 Mon Sep 17 00:00:00 2001 From: mohan Date: Mon, 11 Nov 2024 22:08:22 +0530 Subject: [PATCH] Bugfix: validate quantity input in create/update activity dialog --- ...ate-or-update-activity-dialog.component.ts | 37 ++++++++++++++++++- .../create-or-update-activity-dialog.html | 2 +- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index cb21c255d..03c1dda69 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -148,7 +148,42 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { ], updateAccountBalance: [false] }); - + this.activityForm.get('quantity').valueChanges.subscribe(async () => { + const activity = { quantity: this.activityForm.get('quantity').value }; + try { + const ignoredFields = [ + 'accountId', + 'assetClass', + 'assetSubClass', + 'comment', + 'currency', + 'customCurrency', + 'dataSource', + 'date', + 'fee', + 'symbol', + 'tags', + 'type', + 'unitPrice', + 'updateAccountBalance' + ]; + if (this.mode === 'create') { + await validateObjectForForm({ + classDto: CreateOrderDto, + form: this.activityForm, + ignoreFields: ignoredFields, + object: activity + }); + } else { + await validateObjectForForm({ + classDto: UpdateOrderDto, + form: this.activityForm, + ignoreFields: ignoredFields, + object: activity + }); + } + } catch (error) {} + }); this.activityForm.valueChanges .pipe( // Slightly delay until the more specific form control value changes have diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index dba624064..7795688c0 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -186,7 +186,7 @@ > Quantity - +