Browse Source

Bugfix: validate quantity input in create/update activity dialog

pull/4035/head
mohan 10 months ago
parent
commit
f7d71be798
  1. 37
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
  2. 2
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html

37
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

2
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html

@ -186,7 +186,7 @@
>
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Quantity</mat-label>
<input formControlName="quantity" matInput type="number" [min]="0" />
<input formControlName="quantity" matInput type="number" />
</mat-form-field>
</div>
<div

Loading…
Cancel
Save