From dd7faffad7112ca8dc87eea9c438ead041ccde10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Hern=C3=A1ndez?= <44206706+josehernandezfintecheandomx@users.noreply.github.com> Date: Tue, 5 Dec 2023 00:05:16 -0600 Subject: [PATCH] Recurring Deposit account deposit and withdrawal transactions (#1919) Co-authored-by: Jose Alberto Hernandez --- .../recurring-deposit-account-actions.resolver.ts | 5 +++-- .../deposit-recurring-deposits-account.component.html | 2 +- .../deposit-recurring-deposits-account.component.ts | 8 +++++++- .../recurring-deposits-account-actions.component.html | 2 +- .../recurring-deposits-account-actions.component.ts | 4 +++- .../recurring-deposits-account-view.component.ts | 1 + .../recurring-deposits/recurring-deposits.service.ts | 3 +++ src/theme/_content.scss | 1 + 8 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/deposits/recurring-deposits/common-resolvers/recurring-deposit-account-actions.resolver.ts b/src/app/deposits/recurring-deposits/common-resolvers/recurring-deposit-account-actions.resolver.ts index 02e9ae251..4b4db8e82 100644 --- a/src/app/deposits/recurring-deposits/common-resolvers/recurring-deposit-account-actions.resolver.ts +++ b/src/app/deposits/recurring-deposits/common-resolvers/recurring-deposit-account-actions.resolver.ts @@ -28,7 +28,7 @@ export class RecurringDepositsAccountActionsResolver implements Resolve * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const actionName = route.paramMap.get('name'); + const actionName: string = route.paramMap.get('name'); const recurringDepositAccountId = route.paramMap.get('recurringDepositAccountId') || route.parent.parent.paramMap.get('recurringDepositAccountId'); switch (actionName) { case 'Add Charge': @@ -36,7 +36,8 @@ export class RecurringDepositsAccountActionsResolver implements Resolve case 'Close': return this.recurringDepositsService.getRecurringDepositAccountActionResource(recurringDepositAccountId, 'close'); case 'Deposit': - return this.recurringDepositsService.getRecurringDepositAccountTransactionTemplateResource(recurringDepositAccountId, 'deposit'); + case 'Withdrawal': + return this.recurringDepositsService.getRecurringDepositAccountTransactionTemplateResource(recurringDepositAccountId, actionName.toLocaleLowerCase()); default: return undefined; } diff --git a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.html b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.html index c1a30f51e..e3eb8bebc 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.html +++ b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.html @@ -88,7 +88,7 @@ - + diff --git a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.ts b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.ts index 637077751..62ca4b170 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.ts +++ b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/deposit-recurring-deposits-account/deposit-recurring-deposits-account.component.ts @@ -38,6 +38,8 @@ export class DepositRecurringDepositsAccountComponent implements OnInit { /** Deposits Recurring Deposit Account form. */ depositRecurringDepositForm: UntypedFormGroup; + action: string; + /** * Retrieves action details transactions template data from `resolve` * @param {FormBuilder} formBuilder Form Builder @@ -62,6 +64,8 @@ export class DepositRecurringDepositsAccountComponent implements OnInit { this.transactionAmount = this.transactionAmount + this.outstandingChargeAmount; } }); + const name: string = this.route.snapshot.params['name']; + this.action = name.toLowerCase(); this.accountId = this.route.parent.snapshot.params['recurringDepositAccountId']; } @@ -125,7 +129,9 @@ export class DepositRecurringDepositsAccountComponent implements OnInit { dateFormat, locale }; - this.recurringDepositsService.executeRecurringDepositsAccountCommand(this.accountId, 'deposit', data).subscribe(() => { + + delete data['note']; + this.recurringDepositsService.executeRecurringDepositsAccountCommand(this.accountId, this.action, data).subscribe(() => { this.router.navigate(['../../'], { relativeTo: this.route }); }); } diff --git a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.html b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.html index 374b673c0..18eb4ffb9 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.html +++ b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.html @@ -6,4 +6,4 @@ - + diff --git a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.ts b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.ts index 6e986f590..7a713283f 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.ts +++ b/src/app/deposits/recurring-deposits/recurring-deposits-account-actions/recurring-deposits-account-actions.component.ts @@ -20,6 +20,7 @@ export class RecurringDepositsAccountActionsComponent { 'Premature Close': boolean 'Close': boolean 'Deposit': boolean + 'Withdrawal': boolean } = { 'Activate': false, 'Undo Approval': false, @@ -29,7 +30,8 @@ export class RecurringDepositsAccountActionsComponent { 'Add Charge': false, 'Premature Close': false, 'Close': false, - 'Deposit': false + 'Deposit': false, + 'Withdrawal': false }; currency: Currency; diff --git a/src/app/deposits/recurring-deposits/recurring-deposits-account-view/recurring-deposits-account-view.component.ts b/src/app/deposits/recurring-deposits/recurring-deposits-account-view/recurring-deposits-account-view.component.ts index adb6f9959..b88bebc16 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits-account-view/recurring-deposits-account-view.component.ts +++ b/src/app/deposits/recurring-deposits/recurring-deposits-account-view/recurring-deposits-account-view.component.ts @@ -162,6 +162,7 @@ export class RecurringDepositsAccountViewComponent implements OnInit { case 'Premature Close': case 'Close': case 'Deposit': + case 'Withdrawal': this.router.navigate([`actions/${name}`], { relativeTo: this.route }); break; case 'Modify Application': diff --git a/src/app/deposits/recurring-deposits/recurring-deposits.service.ts b/src/app/deposits/recurring-deposits/recurring-deposits.service.ts index d4dbe6db6..f4d5dc109 100644 --- a/src/app/deposits/recurring-deposits/recurring-deposits.service.ts +++ b/src/app/deposits/recurring-deposits/recurring-deposits.service.ts @@ -73,6 +73,9 @@ export class RecurringDepositsService { */ executeRecurringDepositsAccountCommand(accountId: string, command: string, data: any): Observable { const httpParams = new HttpParams().set('command', command); + if (command === 'deposit' || command === 'withdrawal') { + return this.http.post(`/recurringdepositaccounts/${accountId}/transactions`, data, { params: httpParams }); + } return this.http.post(`/recurringdepositaccounts/${accountId}`, data, { params: httpParams }); } diff --git a/src/theme/_content.scss b/src/theme/_content.scss index b28d79ef1..dbf00b609 100644 --- a/src/theme/_content.scss +++ b/src/theme/_content.scss @@ -26,6 +26,7 @@ } .account-overview { + border: none; max-width: 240px; font-size: 14px;