From 6ef53c6462f27f35892da2cb2b4641d463cfb58c 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: Wed, 22 Feb 2023 23:15:51 -0600 Subject: [PATCH] Enhancement in loan and savings account views (#1690) Co-authored-by: Jose Alberto Hernandez --- .../client-family-member-dialog.component.ts | 1 - .../view-signature-dialog.component.ts | 1 - .../add-family-member.component.ts | 1 - .../glim-loan-template.resolver.ts | 2 +- .../loan-action-button.resolver.ts | 2 +- .../loan-datatable.resolver.ts | 6 +- .../loan-delinquency-tags.resolver.ts | 4 +- .../loan-details-charges.resolver.ts | 2 +- .../common-resolvers/loan-details.resolver.ts | 4 +- .../loan-documents.resolver.ts | 4 +- .../common-resolvers/loan-notes.resolver.ts | 4 +- .../loan-reschedules.resolver.ts | 4 +- .../loans-account-and-template.resolver.ts | 4 +- .../loans-account-charge.resolver.ts | 6 +- ...s-account-transaction-template.resolver.ts | 4 +- .../loans-account-transaction.resolver.ts | 4 +- .../edit-loans-account.component.ts | 2 +- src/app/loans/loans-routing.module.ts | 400 +++++++++--------- .../charges-tab/charges-tab.component.html | 144 ++++--- .../charges-tab/charges-tab.component.ts | 9 +- .../add-collateral.component.ts | 2 +- .../add-loan-charge.component.ts | 2 +- .../adjust-loan-charge.component.html | 91 ++++ .../adjust-loan-charge.component.scss | 15 + .../adjust-loan-charge.component.spec.ts | 25 ++ .../adjust-loan-charge.component.ts | 116 +++++ .../approve-loan/approve-loan.component.ts | 2 +- .../assign-loan-officer.component.ts | 2 +- .../close-as-rescheduled.component.ts | 2 +- .../create-guarantor.component.ts | 2 +- .../disburse-to-savings-account.component.ts | 2 +- .../disburse/disburse.component.ts | 2 +- .../edit-repayment-schedule.component.ts | 2 +- .../foreclosure/foreclosure.component.ts | 2 +- .../loan-credit-balance-refund.component.ts | 2 +- .../loan-reschedule.component.ts | 2 +- .../loan-screen-reports.component.ts | 2 +- .../loans-account-close.component.ts | 2 +- .../make-repayment.component.ts | 5 +- .../prepay-loan/prepay-loan.component.ts | 2 +- .../recovery-repayment.component.ts | 2 +- .../reject-loan/reject-loan.component.ts | 2 +- .../undo-approval/undo-approval.component.ts | 2 +- .../undo-disbursal.component.ts | 2 +- .../view-guarantors.component.ts | 2 +- .../waive-interest.component.ts | 2 +- .../withdrawn-by-client.component.ts | 2 +- .../write-off-page.component.ts | 2 +- .../loan-documents-tab.component.ts | 2 +- .../notes-tab/notes-tab.component.ts | 2 +- .../transactions-tab.component.ts | 3 +- .../edit-transaction.component.html | 13 +- .../edit-transaction.component.ts | 8 +- .../view-transaction.component.ts | 4 +- .../view-charge/view-charge.component.html | 10 +- .../view-charge/view-charge.component.ts | 4 + src/app/loans/loans.module.ts | 4 +- src/app/products/products-routing.module.ts | 2 +- .../activate-savings-account.component.ts | 2 +- .../add-charge-savings-account.component.ts | 2 +- ...y-annual-fees-savings-account.component.ts | 2 +- .../approve-savings-account.component.ts | 2 +- .../close-savings-account.component.ts | 2 +- .../manage-savings-account.component.ts | 2 +- ...nterest-as-on-savings-account.component.ts | 2 +- .../reject-savings-account.component.ts | 2 +- .../saving-account-actions.component.html | 2 +- .../saving-account-actions.component.ts | 5 + .../savings-account-assign-staff.component.ts | 2 +- ...avings-account-transactions.component.html | 8 +- ...avings-account-transactions.component.scss | 14 +- .../savings-account-transactions.component.ts | 13 +- ...avings-account-unassign-staff.component.ts | 2 +- ...undo-approval-savings-account.component.ts | 2 +- ...raw-by-client-savings-account.component.ts | 2 +- ...avings-account-preview-step.component.html | 5 - .../savings-account-terms-step.component.html | 5 - .../savings-account-terms-step.component.ts | 7 +- .../charges-tab/charges-tab.component.ts | 2 +- .../notes-tab/notes-tab.component.ts | 2 +- .../savings-account-view.component.html | 4 +- .../savings-account-view.component.ts | 3 + .../savings-documents-tab.component.ts | 2 +- .../transactions-tab.component.html | 26 +- .../transactions-tab.component.ts | 5 +- .../edit-transaction.component.html | 16 +- .../edit-transaction.component.ts | 8 +- .../view-transaction.component.html | 16 +- .../view-transaction.component.ts | 2 +- .../view-charge/view-charge.component.html | 11 +- src/app/savings/savings-routing.module.ts | 271 +++++------- 91 files changed, 841 insertions(+), 568 deletions(-) create mode 100644 src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.html create mode 100644 src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.scss create mode 100644 src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.spec.ts create mode 100644 src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.ts diff --git a/src/app/clients/client-stepper/client-family-members-step/client-family-member-dialog/client-family-member-dialog.component.ts b/src/app/clients/client-stepper/client-family-members-step/client-family-member-dialog/client-family-member-dialog.component.ts index e1bbce0e0..a262e5824 100644 --- a/src/app/clients/client-stepper/client-family-members-step/client-family-member-dialog/client-family-member-dialog.component.ts +++ b/src/app/clients/client-stepper/client-family-members-step/client-family-member-dialog/client-family-member-dialog.component.ts @@ -17,7 +17,6 @@ import { Dates } from 'app/core/utils/dates'; }) export class ClientFamilyMemberDialogComponent implements OnInit { - /** Maximum Due Date allowed. */ maxDate = new Date(); diff --git a/src/app/clients/clients-view/custom-dialogs/view-signature-dialog/view-signature-dialog.component.ts b/src/app/clients/clients-view/custom-dialogs/view-signature-dialog/view-signature-dialog.component.ts index ddf6535b4..9f92c46f6 100644 --- a/src/app/clients/clients-view/custom-dialogs/view-signature-dialog/view-signature-dialog.component.ts +++ b/src/app/clients/clients-view/custom-dialogs/view-signature-dialog/view-signature-dialog.component.ts @@ -34,7 +34,6 @@ export class ViewSignatureDialogComponent implements OnInit { const signature = this.data.documents.find((document: any) => document.name === 'clientSignature') || {}; this.signatureId = signature.id; this.clientId = this.data.id; - console.log(this.clientId); } ngOnInit() { diff --git a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts index 64b8a1c0e..05706c720 100644 --- a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts +++ b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts @@ -18,7 +18,6 @@ import { Dates } from 'app/core/utils/dates'; }) export class AddFamilyMemberComponent implements OnInit { - /** Maximum Due Date allowed. */ maxDate = new Date(); /** Minimum age allowed is 0. */ diff --git a/src/app/loans/common-resolvers/glim-loan-template.resolver.ts b/src/app/loans/common-resolvers/glim-loan-template.resolver.ts index e1855207a..3a24f4c03 100644 --- a/src/app/loans/common-resolvers/glim-loan-template.resolver.ts +++ b/src/app/loans/common-resolvers/glim-loan-template.resolver.ts @@ -23,7 +23,7 @@ export class GLIMLoanTemplateResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const groupId = route.parent.parent.paramMap.get('groupId'); + const groupId = route.paramMap.get('groupId'); return this.loansService.getGLIMLoanAccountTemplate(groupId); } } diff --git a/src/app/loans/common-resolvers/loan-action-button.resolver.ts b/src/app/loans/common-resolvers/loan-action-button.resolver.ts index bbb9ef012..2e8138280 100644 --- a/src/app/loans/common-resolvers/loan-action-button.resolver.ts +++ b/src/app/loans/common-resolvers/loan-action-button.resolver.ts @@ -24,7 +24,7 @@ export class LoanActionButtonResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.paramMap.get('loanId'); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); const loanActionButton = route.paramMap.get('action'); if (loanActionButton === 'Assign Loan Officer' || loanActionButton === 'Change Loan Officer') { return this.loansService.getLoanTemplate(loanId); diff --git a/src/app/loans/common-resolvers/loan-datatable.resolver.ts b/src/app/loans/common-resolvers/loan-datatable.resolver.ts index 3ad249498..bd2b947bc 100644 --- a/src/app/loans/common-resolvers/loan-datatable.resolver.ts +++ b/src/app/loans/common-resolvers/loan-datatable.resolver.ts @@ -24,9 +24,9 @@ export class LoanDatatableResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.parent.paramMap.get('loanId'); - const datatableName = route.paramMap.get('datatableName'); - return this.loansService.getLoanDatatable(loanId, datatableName); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + const datatableName = route.paramMap.get('datatableName'); + return this.loansService.getLoanDatatable(loanId, datatableName); } } diff --git a/src/app/loans/common-resolvers/loan-delinquency-tags.resolver.ts b/src/app/loans/common-resolvers/loan-delinquency-tags.resolver.ts index f310243bf..788dd070d 100644 --- a/src/app/loans/common-resolvers/loan-delinquency-tags.resolver.ts +++ b/src/app/loans/common-resolvers/loan-delinquency-tags.resolver.ts @@ -24,8 +24,8 @@ export class LoanDelinquencyTagsResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId') || route.parent.parent.paramMap.get('loanId'); - return this.loansService.getDelinquencyTags(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getDelinquencyTags(loanId); } } diff --git a/src/app/loans/common-resolvers/loan-details-charges.resolver.ts b/src/app/loans/common-resolvers/loan-details-charges.resolver.ts index 424c83181..bf83f328a 100644 --- a/src/app/loans/common-resolvers/loan-details-charges.resolver.ts +++ b/src/app/loans/common-resolvers/loan-details-charges.resolver.ts @@ -24,7 +24,7 @@ export class LoanDetailsChargesResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.parent.paramMap.get('loanId'); + const loanId = route.paramMap.get('loanId'); return this.loansService.getLoanAccountAssociationDetails(loanId); } diff --git a/src/app/loans/common-resolvers/loan-details.resolver.ts b/src/app/loans/common-resolvers/loan-details.resolver.ts index 8b365ef3a..a9918d7d4 100644 --- a/src/app/loans/common-resolvers/loan-details.resolver.ts +++ b/src/app/loans/common-resolvers/loan-details.resolver.ts @@ -24,8 +24,8 @@ export class LoanDetailsResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId') || route.parent.parent.paramMap.get('loanId'); - return this.loansService.getLoanAccountAssociationDetails(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getLoanAccountAssociationDetails(loanId); } } diff --git a/src/app/loans/common-resolvers/loan-documents.resolver.ts b/src/app/loans/common-resolvers/loan-documents.resolver.ts index 6e768f671..67c741862 100644 --- a/src/app/loans/common-resolvers/loan-documents.resolver.ts +++ b/src/app/loans/common-resolvers/loan-documents.resolver.ts @@ -24,8 +24,8 @@ export class LoanDocumentsResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.paramMap.get('loanId'); - return this.loansService.getLoanDocuments(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getLoanDocuments(loanId); } } diff --git a/src/app/loans/common-resolvers/loan-notes.resolver.ts b/src/app/loans/common-resolvers/loan-notes.resolver.ts index 5008b80d9..3f4c85af2 100644 --- a/src/app/loans/common-resolvers/loan-notes.resolver.ts +++ b/src/app/loans/common-resolvers/loan-notes.resolver.ts @@ -24,8 +24,8 @@ export class LoanNotesResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.paramMap.get('loanId'); - return this.loansService.getLoanNotes(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getLoanNotes(loanId); } } diff --git a/src/app/loans/common-resolvers/loan-reschedules.resolver.ts b/src/app/loans/common-resolvers/loan-reschedules.resolver.ts index f596c6936..fc4b6530a 100644 --- a/src/app/loans/common-resolvers/loan-reschedules.resolver.ts +++ b/src/app/loans/common-resolvers/loan-reschedules.resolver.ts @@ -22,8 +22,8 @@ export class LoanReschedulesResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.paramMap.get('loanId'); - return this.loansService.loanRescheduleRequests(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.loanRescheduleRequests(loanId); } } diff --git a/src/app/loans/common-resolvers/loans-account-and-template.resolver.ts b/src/app/loans/common-resolvers/loans-account-and-template.resolver.ts index 2aacbd4b6..92ca16567 100644 --- a/src/app/loans/common-resolvers/loans-account-and-template.resolver.ts +++ b/src/app/loans/common-resolvers/loans-account-and-template.resolver.ts @@ -23,7 +23,7 @@ export class LoansAccountAndTemplateResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanId = route.parent.paramMap.get('loanId'); - return this.loansService.getLoansAccountAndTemplateResource(loanId); + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getLoansAccountAndTemplateResource(loanId); } } diff --git a/src/app/loans/common-resolvers/loans-account-charge.resolver.ts b/src/app/loans/common-resolvers/loans-account-charge.resolver.ts index 955a94fd2..d67642895 100644 --- a/src/app/loans/common-resolvers/loans-account-charge.resolver.ts +++ b/src/app/loans/common-resolvers/loans-account-charge.resolver.ts @@ -25,9 +25,9 @@ export class LoansAccountChargeResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanAccountId = route.parent.parent.paramMap.get('loanId'); - const chargeId = route.paramMap.get('id'); - return this.loansService.getLoansAccountCharge(loanAccountId, chargeId); + const loanId = route.paramMap.get('loanId'); + const chargeId = route.paramMap.get('id'); + return this.loansService.getLoansAccountCharge(loanId, chargeId); } } diff --git a/src/app/loans/common-resolvers/loans-account-transaction-template.resolver.ts b/src/app/loans/common-resolvers/loans-account-transaction-template.resolver.ts index 4892f099f..de19ba17b 100644 --- a/src/app/loans/common-resolvers/loans-account-transaction-template.resolver.ts +++ b/src/app/loans/common-resolvers/loans-account-transaction-template.resolver.ts @@ -25,9 +25,9 @@ export class LoansAccountTransactionTemplateResolver implements Resolve * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanAccountId = route.parent.parent.parent.paramMap.get('loanId'); + const loanId = route.paramMap.get('loanId'); const transactionId = route.paramMap.get('id'); - return this.loansService.getLoansAccountTransactionTemplate(loanAccountId, transactionId); + return this.loansService.getLoansAccountTransactionTemplate(loanId, transactionId); } } diff --git a/src/app/loans/common-resolvers/loans-account-transaction.resolver.ts b/src/app/loans/common-resolvers/loans-account-transaction.resolver.ts index 08cf4f037..e61ad98e5 100644 --- a/src/app/loans/common-resolvers/loans-account-transaction.resolver.ts +++ b/src/app/loans/common-resolvers/loans-account-transaction.resolver.ts @@ -25,9 +25,9 @@ export class LoansAccountTransactionResolver implements Resolve { * @returns {Observable} */ resolve(route: ActivatedRouteSnapshot): Observable { - const loanAccountId = route.parent.parent.parent.paramMap.get('loanId'); + const loanId = route.paramMap.get('loanId'); const transactionId = route.paramMap.get('id'); - return this.loansService.getLoansAccountTransaction(loanAccountId, transactionId); + return this.loansService.getLoansAccountTransaction(loanId, transactionId); } } diff --git a/src/app/loans/edit-loans-account/edit-loans-account.component.ts b/src/app/loans/edit-loans-account/edit-loans-account.component.ts index 2d28f759b..ab15c62dd 100644 --- a/src/app/loans/edit-loans-account/edit-loans-account.component.ts +++ b/src/app/loans/edit-loans-account/edit-loans-account.component.ts @@ -48,7 +48,7 @@ export class EditLoansAccountComponent implements OnInit { this.route.data.subscribe((data: { loansAccountAndTemplate: any }) => { this.loansAccountAndTemplate = data.loansAccountAndTemplate; }); - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-routing.module.ts b/src/app/loans/loans-routing.module.ts index f8f7b3ae2..9b2b41d9d 100644 --- a/src/app/loans/loans-routing.module.ts +++ b/src/app/loans/loans-routing.module.ts @@ -55,6 +55,7 @@ import { LoanDelinquencyTagsResolver } from './common-resolvers/loan-delinquency import { LoanDelinquencyTagsTabComponent } from './loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component'; import { LoanReschedulesResolver } from './common-resolvers/loan-reschedules.resolver'; import { RescheduleLoanTabComponent } from './loans-view/reschedule-loan-tab/reschedule-loan-tab.component'; +import { AdjustLoanChargeComponent } from './loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component'; /** Loans Route. */ const routes: Routes = [ @@ -73,246 +74,253 @@ const routes: Routes = [ { path: ':loanId', data: { title: extract('Loan View'), routeParamBreadcrumb: 'loanId' }, + component: LoansViewComponent, + resolve: { + loanDetailsData: LoanDetailsResolver, + loanDatatables: LoanDatatablesResolver + }, children: [ { path: '', - component: LoansViewComponent, + redirectTo: 'general', + pathMatch: 'full' + }, + { + path: 'general', + component: GeneralTabComponent, + data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false }, resolve: { loanDetailsData: LoanDetailsResolver, loanDatatables: LoanDatatablesResolver }, - children: [ - { - path: '', - redirectTo: 'general', - pathMatch: 'full' - }, - { - path: 'general', - component: GeneralTabComponent, - data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false } - }, - { - path: 'accountdetail', - component: AccountDetailsComponent, - data: { title: extract('Account Detail'), breadcrumb: 'Account Detail', routeParamBreadcrumb: false } - }, - { - path: 'original-schedule', - component: OriginalScheduleTabComponent, - data: { title: extract('Original Schedule'), breadcrumb: 'Original Schedule', routeParamBreadcrumb: false }, - }, - { - path: 'repayment-schedule', - component: RepaymentScheduleTabComponent, - data: { title: extract('Repayment Schedule'), breadcrumb: 'Repayment Schedule', routeParamBreadcrumb: false }, - }, - { - path: 'transactions', - data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false }, - children: [ - { - path: '', - component: TransactionsTabComponent - - }, - { - path: 'export', - component: ExportTransactionsComponent - } - ] - }, - { - path: 'delinquencytags', - data: { title: extract('Loans Delinquency Tags'), breadcrumb: 'Delinquency Tags', routeParamBreadcrumb: false }, - resolve: { - loanDelinquencyTagsData: LoanDelinquencyTagsResolver - }, - children: [ - { - path: '', - component: LoanDelinquencyTagsTabComponent - }, - ] - }, - { - path: 'loan-reschedules', - data: {}, - resolve: { - loanRescheduleData: LoanReschedulesResolver - }, - children: [ - { - path: '', - component: RescheduleLoanTabComponent - } - ] - }, - { - path: 'loan-collateral', - component: LoanCollateralTabComponent, - data: { title: extract('Loan Collateral Details'), breadcrumb: 'Loan Collateral Details', routeParamBreadcrumb: false }, - }, - { - path: 'loan-tranche-details', - component: LoanTrancheDetailsComponent, - data: { title: extract('Loan Tranche Details'), breadcrumb: 'Loan Tranche Details', routeParamBreadcrumb: false }, - }, - { - path: 'overdue-charges', - component: OverdueChargesTabComponent, - data: { title: extract('Overdue Charges'), breadcrumb: 'Overdue Charges', routeParamBreadcrumb: false } - }, - { - path: 'floating-interest-rates', - component: FloatingInterestRatesComponent, - data: { title: extract('Floating Interest Rates'), breadcrumb: 'Floating Interest Rates', routeParamBreadcrumb: false }, - }, - { - path: 'charges', - data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false }, - component: ChargesTabComponent, - }, - { - path: 'loan-documents', - component: LoanDocumentsTabComponent, - data: { title: extract('Loan Documents'), breadcrumb: 'Loan Documents', routeParamBreadcrumb: false }, - resolve: { - loanDocuments: LoanDocumentsResolver - }, - }, - { - path: 'notes', - component: NotesTabComponent, - data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false }, - resolve: { - loanNotes: LoanNotesResolver - }, - }, - { - path: 'standing-instruction', - component: StandingInstructionsTabComponent, - data: { title: extract('Standing Instructions'), breadcrumb: 'Standing Instructions', routeParamBreadcrumb: false } - }, - { - path: 'datatables', - children: [{ - path: ':datatableName', - component: DatatableTabComponent, - data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' }, - resolve: { - loanDatatable: LoanDatatableResolver - } - }] - }, - ], + }, + { + path: 'accountdetail', + component: AccountDetailsComponent, + data: { title: extract('Account Detail'), breadcrumb: 'Account Detail', routeParamBreadcrumb: false } + }, + { + path: 'original-schedule', + component: OriginalScheduleTabComponent, + data: { title: extract('Original Schedule'), breadcrumb: 'Original Schedule', routeParamBreadcrumb: false }, + }, + { + path: 'repayment-schedule', + component: RepaymentScheduleTabComponent, + data: { title: extract('Repayment Schedule'), breadcrumb: 'Repayment Schedule', routeParamBreadcrumb: false }, }, { path: 'transactions', data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false }, + children: [ + { + path: '', + component: TransactionsTabComponent + + }, + { + path: 'export', + component: ExportTransactionsComponent + } + ] + }, + { + path: 'delinquencytags', + data: { title: extract('Loans Delinquency Tags'), breadcrumb: 'Delinquency Tags', routeParamBreadcrumb: false }, resolve: { - loanDetailsAssociationData: LoanDetailsResolver + loanDelinquencyTagsData: LoanDelinquencyTagsResolver }, children: [ { path: '', - redirectTo: '../transactions', pathMatch: 'prefix' + component: LoanDelinquencyTagsTabComponent }, + ] + }, + { + path: 'loan-reschedules', + data: {}, + resolve: { + loanRescheduleData: LoanReschedulesResolver + }, + children: [ { - path: ':id', - data: { routeParamBreadcrumb: 'id' }, - children: [ - { - path: '', - component: ViewTransactionComponent, - resolve: { - loansAccountTransaction: LoansAccountTransactionResolver - } - }, - { - path: 'edit', - component: EditTransactionComponent, - data: { breadcrumb: 'Edit', routeParamBreadcrumb: false }, - resolve: { - loansAccountTransactionTemplate: LoansAccountTransactionTemplateResolver - } - }, - { - path: 'reciept', - component: ViewRecieptComponent, - data: { breadcrumb: 'Reciept', routeParamBreadcrumb: false }, - resolve: { - loansTransactionReciept: LoansTransactionRecieptResolver - } - } - ] + path: '', + component: RescheduleLoanTabComponent } ] }, + { + path: 'loan-collateral', + component: LoanCollateralTabComponent, + data: { title: extract('Loan Collateral Details'), breadcrumb: 'Loan Collateral Details', routeParamBreadcrumb: false }, + }, + { + path: 'loan-tranche-details', + component: LoanTrancheDetailsComponent, + data: { title: extract('Loan Tranche Details'), breadcrumb: 'Loan Tranche Details', routeParamBreadcrumb: false }, + }, + { + path: 'overdue-charges', + component: OverdueChargesTabComponent, + data: { title: extract('Overdue Charges'), breadcrumb: 'Overdue Charges', routeParamBreadcrumb: false } + }, + { + path: 'floating-interest-rates', + component: FloatingInterestRatesComponent, + data: { title: extract('Floating Interest Rates'), breadcrumb: 'Floating Interest Rates', routeParamBreadcrumb: false }, + }, { path: 'charges', data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false }, - children: [ - { - path: '', - redirectTo: '../charges', pathMatch: 'prefix' - }, - { - path: ':id', - data: { routeParamBreadcrumb: 'id' }, - component: ViewChargeComponent, - resolve: { - loansAccountCharge: LoansAccountChargeResolver, - loanDetailsData: LoanDetailsResolver - } + component: ChargesTabComponent, + }, + { + path: 'loan-documents', + component: LoanDocumentsTabComponent, + data: { title: extract('Loan Documents'), breadcrumb: 'Loan Documents', routeParamBreadcrumb: false }, + resolve: { + loanDocuments: LoanDocumentsResolver + }, + }, + { + path: 'notes', + component: NotesTabComponent, + data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false }, + resolve: { + loanNotes: LoanNotesResolver + }, + }, + { + path: 'standing-instruction', + component: StandingInstructionsTabComponent, + data: { title: extract('Standing Instructions'), breadcrumb: 'Standing Instructions', routeParamBreadcrumb: false } + }, + { + path: 'datatables', + children: [{ + path: ':datatableName', + component: DatatableTabComponent, + data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' }, + resolve: { + loanDatatable: LoanDatatableResolver } - ] + }] }, + ], + }, + { + path: ':loanId/transactions/:id', + data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false }, + resolve: { + loanDetailsAssociationData: LoanDetailsResolver + }, + children: [ { - path: 'actions/:action', - component: LoanAccountActionsComponent, - data: { title: extract('Loan Account Actions'), breadcrumb: 'action', routeParamBreadcrumb: 'action' }, + path: '', + data: { routeParamBreadcrumb: 'id' }, + component: ViewTransactionComponent, resolve: { - actionButtonData: LoanActionButtonResolver + loansAccountTransaction: LoansAccountTransactionResolver } }, { - path: 'transfer-funds', - loadChildren: () => import('../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule) - }, - { - path: 'edit-loans-account', - data: { title: extract('Modify Loans Account'), breadcrumb: 'Modify Loans Account', routeParamBreadcrumb: 'Edit' }, - component: EditLoansAccountComponent, + path: 'edit', + component: EditTransactionComponent, + data: { breadcrumb: 'Edit', routeParamBreadcrumb: false }, resolve: { - loansAccountAndTemplate: LoansAccountAndTemplateResolver + loansAccountTransactionTemplate: LoansAccountTransactionTemplateResolver } }, + { + path: 'reciept', + component: ViewRecieptComponent, + data: { breadcrumb: 'Reciept', routeParamBreadcrumb: false }, + resolve: { + loansTransactionReciept: LoansTransactionRecieptResolver + } + } ] }, { - path: 'glim-account', + path: ':loanId/edit-loans-account', + data: { title: extract('Modify Loans Account'), breadcrumb: 'Modify Loans Account', routeParamBreadcrumb: 'Edit' }, + component: EditLoansAccountComponent, + resolve: { + loansAccountAndTemplate: LoansAccountAndTemplateResolver + } + }, + { + path: ':loanId/charges', + data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false }, children: [ { - path: 'create', - data: { title: extract('Create GLIM Application'), breadcrumb: 'Create GLIM Application' }, - component: CreateGlimAccountComponent, - resolve: { - loansAccountTemplate: GLIMLoanTemplateResolver, - gsimData: GSIMAccountsResolver, - groupsData: GroupViewResolver, - }, + path: '', + redirectTo: '../charges', pathMatch: 'prefix' }, { - path: ':glimId', - data: { title: extract('GSIM Account View'), routeParamBreadcrumb: 'savingAccountId' }, - component: GlimAccountComponent, + path: ':id', + data: { routeParamBreadcrumb: 'id' }, + component: ViewChargeComponent, resolve: { - glimData: GLIMViewResolver, - groupsData: GroupAccountsResolver - }, + loansAccountCharge: LoansAccountChargeResolver, + loanDetailsData: LoanDetailsResolver + } + }, + { + path: ':id/adjustment', + data: { routeParamBreadcrumb: 'id', breadcrumb: 'Adjustment' }, + component: AdjustLoanChargeComponent, + resolve: { + loansAccountCharge: LoansAccountChargeResolver, + loanDetailsData: LoanDetailsResolver + } } ] + }, + { + path: ':loanId/actions/:action', + component: LoanAccountActionsComponent, + data: { title: extract('Loan Account Actions'), breadcrumb: 'action', routeParamBreadcrumb: 'action' }, + resolve: { + actionButtonData: LoanActionButtonResolver + } + }, + { + path: 'transfer-funds', + loadChildren: () => import('../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule) + }, + { + path: 'edit-loans-account', + data: { title: extract('Modify Loans Account'), breadcrumb: 'Modify Loans Account', routeParamBreadcrumb: 'Edit' }, + component: EditLoansAccountComponent, + resolve: { + loansAccountAndTemplate: LoansAccountAndTemplateResolver + } + }, + ] + }, + { + path: 'glim-account', + children: [ + { + path: 'create', + data: { title: extract('Create GLIM Application'), breadcrumb: 'Create GLIM Application' }, + component: CreateGlimAccountComponent, + resolve: { + loansAccountTemplate: GLIMLoanTemplateResolver, + gsimData: GSIMAccountsResolver, + groupsData: GroupViewResolver, + }, + }, + { + path: ':glimId', + data: { title: extract('GSIM Account View'), routeParamBreadcrumb: 'savingAccountId' }, + component: GlimAccountComponent, + resolve: { + glimData: GLIMViewResolver, + groupsData: GroupAccountsResolver + }, } ] } diff --git a/src/app/loans/loans-view/charges-tab/charges-tab.component.html b/src/app/loans/loans-view/charges-tab/charges-tab.component.html index a81ecc916..f8a159832 100644 --- a/src/app/loans/loans-view/charges-tab/charges-tab.component.html +++ b/src/app/loans/loans-view/charges-tab/charges-tab.component.html @@ -1,83 +1,93 @@
- +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - -
Name {{ charge.name }} Name {{ charge.name }} Fee/Penalty - Penalty - Fee - Fee/Penalty + Penalty + Fee + Payment due at {{ charge.chargeTimeType.value }} Payment due at {{ charge.chargeTimeType.value }} Due as of {{ charge.dueDate | dateFormat }} Due as of {{ charge.dueDate | dateFormat }} Calculation Type {{ charge.chargeCalculationType.value }} Calculation Type {{ charge.chargeCalculationType.value }} Due {{ charge.currency.displaySymbol }} {{ charge.amount| number }} Due {{ charge.currency.displaySymbol }} {{ charge.amount| + number }} Paid {{ charge.currency.displaySymbol }}{{ charge.amountPaid| number }} Paid {{ charge.currency.displaySymbol }}{{ charge.amountPaid| + number }} Waived {{ charge.currency.displaySymbol }}{{ charge.amountWaived| number }} Waived {{ charge.currency.displaySymbol }}{{ charge.amountWaived| + number }} Outstanding {{ charge.currency.displaySymbol }}{{ charge.amountOutstanding| number }} Outstanding {{ charge.currency.displaySymbol }}{{ + charge.amountOutstanding| number }} Actions - - - - - - - Actions + + + + + + + +
+ + + - +
diff --git a/src/app/loans/loans-view/charges-tab/charges-tab.component.ts b/src/app/loans/loans-view/charges-tab/charges-tab.component.ts index 5b25d213c..a22c73115 100644 --- a/src/app/loans/loans-view/charges-tab/charges-tab.component.ts +++ b/src/app/loans/loans-view/charges-tab/charges-tab.component.ts @@ -60,7 +60,6 @@ export class ChargesTabComponent implements OnInit { }); } - ngOnInit() { this.chargesData = this.loanDetails.charges; this.status = this.loanDetails.status.value; @@ -78,6 +77,14 @@ export class ChargesTabComponent implements OnInit { this.dataSource.sort = this.sort; } + /** + * Asjust the Loan charge. + * @param {any} chargeId Charge Id + */ + adjustCharge(chargeId: string) { + this.router.navigate([`${chargeId}/adjustment`], { relativeTo: this.route }); + } + /** * Pays the charge. * @param {any} chargeId Charge Id diff --git a/src/app/loans/loans-view/loan-account-actions/add-collateral/add-collateral.component.ts b/src/app/loans/loans-view/loan-account-actions/add-collateral/add-collateral.component.ts index 8e43296b1..89c7ece46 100644 --- a/src/app/loans/loans-view/loan-account-actions/add-collateral/add-collateral.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/add-collateral/add-collateral.component.ts @@ -58,7 +58,7 @@ export class AddCollateralComponent implements OnInit { this.collateralForm.patchValue({ 'collateralTypeId': collateralTypeId }); - const loanId = this.route.parent.snapshot.params['loanId']; + const loanId = this.route.snapshot.params['loanId']; const collateralForm = this.collateralForm.value; collateralForm.locale = 'en'; this.loanService.createLoanCollateral(loanId, collateralForm).subscribe((response: any) => { diff --git a/src/app/loans/loans-view/loan-account-actions/add-loan-charge/add-loan-charge.component.ts b/src/app/loans/loans-view/loan-account-actions/add-loan-charge/add-loan-charge.component.ts index bcf766883..5f66485ef 100644 --- a/src/app/loans/loans-view/loan-account-actions/add-loan-charge/add-loan-charge.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/add-loan-charge/add-loan-charge.component.ts @@ -60,7 +60,7 @@ export class AddLoanChargeComponent implements OnInit { this.route.data.subscribe((data: { actionButtonData: any }) => { this.loanChargeOptions = data.actionButtonData.chargeOptions; }); - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.html b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.html new file mode 100644 index 000000000..fcef66fad --- /dev/null +++ b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.html @@ -0,0 +1,91 @@ +
+ + + +
+ + + +
+ + + Amount + {{ loanDetailsData.currency.code }} + + + + Amount is required + + + + + External Id + + + + + Payment Type + + + {{ paymentType.name }} + + + + +
+ + +
+ Show Payment Details +
+
+
+
+ + + + Account # + + + + + Cheque # + + + + + Routing Code + + + + + Reciept # + + + + + Bank # + + + + + + Note + + + +
+ + + + + + +
+ +
+ +
+ +
diff --git a/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.scss b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.scss new file mode 100644 index 000000000..50de7f7db --- /dev/null +++ b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.scss @@ -0,0 +1,15 @@ +.expandcollapsebutton { + margin-top: -7px; +} + +.container { + max-width: 37rem; +} + +.right-input { +text-align: right; +} + +.right-label { +padding-right: 25px !important; +} diff --git a/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.spec.ts b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.spec.ts new file mode 100644 index 000000000..843fa1008 --- /dev/null +++ b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AdjustLoanChargeComponent } from './adjust-loan-charge.component'; + +describe('AdjustLoanChargeComponent', () => { + let component: AdjustLoanChargeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AdjustLoanChargeComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AdjustLoanChargeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.ts b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.ts new file mode 100644 index 000000000..559dd6934 --- /dev/null +++ b/src/app/loans/loans-view/loan-account-actions/adjust-loan-charge/adjust-loan-charge.component.ts @@ -0,0 +1,116 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { ActivatedRoute, Router } from '@angular/router'; +import { LoansService } from 'app/loans/loans.service'; +import { OrganizationService } from 'app/organization/organization.service'; +import { SettingsService } from 'app/settings/settings.service'; + +@Component({ + selector: 'mifosx-adjust-loan-charge', + templateUrl: './adjust-loan-charge.component.html', + styleUrls: ['./adjust-loan-charge.component.scss'] +}) +export class AdjustLoanChargeComponent implements OnInit { + /** Loan Id */ + loanId: string; + chargeId: string; + + /** Payment Type Options */ + paymentTypes: any = []; + chargeData: any = []; + loanDetailsData: any = []; + + /** Show payment details */ + showPaymentDetails = false; + /** Minimum Date allowed. */ + minDate = new Date(2000, 0, 1); + /** Maximum Date allowed. */ + maxDate = new Date(); + /** Repayment Loan Form */ + adjustLoanChargeForm: FormGroup; + + /** + * @param {FormBuilder} formBuilder Form Builder. + * @param {LoansService} loanService Loan Service. + * @param {ActivatedRoute} route Activated Route. + * @param {Router} router Router for navigation. + * @param {SettingsService} settingsService Settings Service + */ + constructor(private formBuilder: FormBuilder, + private loanService: LoansService, + private route: ActivatedRoute, + private router: Router, + private settingsService: SettingsService, + private organizationService: OrganizationService) { + this.loanId = this.route.snapshot.params['loanId']; + this.chargeId = this.route.snapshot.params['id']; + this.route.data.subscribe((data: { loansAccountCharge: any, loanDetailsData: any }) => { + this.chargeData = data.loansAccountCharge; + this.loanDetailsData = data.loanDetailsData; + }); + } + + /** + * Creates the repayment loan form + * and initialize with the required values + */ + ngOnInit() { + this.maxDate = this.settingsService.maxAllowedDate; + this.createAdjustLoanChargeForm(); + this.setRepaymentLoanDetails(); + } + + /** + * Creates the create close form. + */ + createAdjustLoanChargeForm() { + this.adjustLoanChargeForm = this.formBuilder.group({ + 'amount': [this.chargeData.amount, Validators.required], + 'externalId': '', + 'paymentTypeId': '', + 'note': '' + }); + } + + setRepaymentLoanDetails() { + this.organizationService.getPaymentTypes().subscribe((paymentTypes: any) => { + this.paymentTypes = paymentTypes; + }); + } + + /** + * Add payment detail fields to the UI. + */ + addPaymentDetails() { + this.showPaymentDetails = !this.showPaymentDetails; + if (this.showPaymentDetails) { + this.adjustLoanChargeForm.addControl('accountNumber', new FormControl('')); + this.adjustLoanChargeForm.addControl('checkNumber', new FormControl('')); + this.adjustLoanChargeForm.addControl('routingCode', new FormControl('')); + this.adjustLoanChargeForm.addControl('receiptNumber', new FormControl('')); + this.adjustLoanChargeForm.addControl('bankNumber', new FormControl('')); + } else { + this.adjustLoanChargeForm.removeControl('accountNumber'); + this.adjustLoanChargeForm.removeControl('checkNumber'); + this.adjustLoanChargeForm.removeControl('routingCode'); + this.adjustLoanChargeForm.removeControl('receiptNumber'); + this.adjustLoanChargeForm.removeControl('bankNumber'); + } + } + + /** Submits the repayment form */ + submit() { + const adjustLoanChargeFormData = this.adjustLoanChargeForm.value; + const locale = this.settingsService.language.code; + const data = { + ...adjustLoanChargeFormData, + locale + }; + const command = 'adjustment'; + this.loanService.executeLoansAccountChargesCommand(this.loanId, command, data, this.chargeId) + .subscribe((response: any) => { + this.router.navigate(['../..'], { relativeTo: this.route }); + }); + } + +} diff --git a/src/app/loans/loans-view/loan-account-actions/approve-loan/approve-loan.component.ts b/src/app/loans/loans-view/loan-account-actions/approve-loan/approve-loan.component.ts index 4f7cee223..190ce96bf 100644 --- a/src/app/loans/loans-view/loan-account-actions/approve-loan/approve-loan.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/approve-loan/approve-loan.component.ts @@ -47,7 +47,7 @@ export class ApproveLoanComponent implements OnInit { this.route.data.subscribe((data: { actionButtonData: any }) => { this.loanData = data.actionButtonData; }); - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/assign-loan-officer/assign-loan-officer.component.ts b/src/app/loans/loans-view/loan-account-actions/assign-loan-officer/assign-loan-officer.component.ts index c96f6983b..f0fce025f 100644 --- a/src/app/loans/loans-view/loan-account-actions/assign-loan-officer/assign-loan-officer.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/assign-loan-officer/assign-loan-officer.component.ts @@ -38,7 +38,7 @@ export class AssignLoanOfficerComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/close-as-rescheduled/close-as-rescheduled.component.ts b/src/app/loans/loans-view/loan-account-actions/close-as-rescheduled/close-as-rescheduled.component.ts index 1df4df8c8..aa038b5d5 100644 --- a/src/app/loans/loans-view/loan-account-actions/close-as-rescheduled/close-as-rescheduled.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/close-as-rescheduled/close-as-rescheduled.component.ts @@ -38,7 +38,7 @@ export class CloseAsRescheduledComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/create-guarantor/create-guarantor.component.ts b/src/app/loans/loans-view/loan-account-actions/create-guarantor/create-guarantor.component.ts index e1508cd32..ed6e5a14d 100644 --- a/src/app/loans/loans-view/loan-account-actions/create-guarantor/create-guarantor.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/create-guarantor/create-guarantor.component.ts @@ -51,7 +51,7 @@ export class CreateGuarantorComponent implements OnInit, AfterViewInit { private dateUtils: Dates, private clientsService: ClientsService, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/disburse-to-savings-account/disburse-to-savings-account.component.ts b/src/app/loans/loans-view/loan-account-actions/disburse-to-savings-account/disburse-to-savings-account.component.ts index 1b18f14ef..016696762 100644 --- a/src/app/loans/loans-view/loan-account-actions/disburse-to-savings-account/disburse-to-savings-account.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/disburse-to-savings-account/disburse-to-savings-account.component.ts @@ -72,7 +72,7 @@ export class DisburseToSavingsAccountComponent implements OnInit { dateFormat, locale }; - const loanId = this.route.parent.snapshot.params['loanId']; + const loanId = this.route.snapshot.params['loanId']; this.loanService.loanActionButtons(loanId, 'disbursetosavings', data).subscribe((response: any) => { this.router.navigate(['../../general'], { relativeTo: this.route }); }); diff --git a/src/app/loans/loans-view/loan-account-actions/disburse/disburse.component.ts b/src/app/loans/loans-view/loan-account-actions/disburse/disburse.component.ts index 2cf571d70..8288b4837 100644 --- a/src/app/loans/loans-view/loan-account-actions/disburse/disburse.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/disburse/disburse.component.ts @@ -45,7 +45,7 @@ export class DisburseComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } diff --git a/src/app/loans/loans-view/loan-account-actions/edit-repayment-schedule/edit-repayment-schedule.component.ts b/src/app/loans/loans-view/loan-account-actions/edit-repayment-schedule/edit-repayment-schedule.component.ts index 548ba981f..a2eac5518 100644 --- a/src/app/loans/loans-view/loan-account-actions/edit-repayment-schedule/edit-repayment-schedule.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/edit-repayment-schedule/edit-repayment-schedule.component.ts @@ -42,7 +42,7 @@ export class EditRepaymentScheduleComponent implements OnInit { private dialog: MatDialog, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; this.getRepaymentSchedule(); } diff --git a/src/app/loans/loans-view/loan-account-actions/foreclosure/foreclosure.component.ts b/src/app/loans/loans-view/loan-account-actions/foreclosure/foreclosure.component.ts index 5844626d3..1d41cff71 100644 --- a/src/app/loans/loans-view/loan-account-actions/foreclosure/foreclosure.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/foreclosure/foreclosure.component.ts @@ -36,7 +36,7 @@ export class ForeclosureComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/loan-credit-balance-refund/loan-credit-balance-refund.component.ts b/src/app/loans/loans-view/loan-account-actions/loan-credit-balance-refund/loan-credit-balance-refund.component.ts index 399d5fff9..fe054992e 100644 --- a/src/app/loans/loans-view/loan-account-actions/loan-credit-balance-refund/loan-credit-balance-refund.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/loan-credit-balance-refund/loan-credit-balance-refund.component.ts @@ -35,7 +35,7 @@ export class LoanCreditBalanceRefundComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/loan-reschedule/loan-reschedule.component.ts b/src/app/loans/loans-view/loan-account-actions/loan-reschedule/loan-reschedule.component.ts index 0437b606c..2b6cc4fc0 100644 --- a/src/app/loans/loans-view/loan-account-actions/loan-reschedule/loan-reschedule.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/loan-reschedule/loan-reschedule.component.ts @@ -42,7 +42,7 @@ export class LoanRescheduleComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/loan-screen-reports/loan-screen-reports.component.ts b/src/app/loans/loans-view/loan-account-actions/loan-screen-reports/loan-screen-reports.component.ts index 328a1c9d0..f9ad2ad2a 100644 --- a/src/app/loans/loans-view/loan-account-actions/loan-screen-reports/loan-screen-reports.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/loan-screen-reports/loan-screen-reports.component.ts @@ -43,7 +43,7 @@ export class LoanScreenReportsComponent implements OnInit { private route: ActivatedRoute, private sanitizer: DomSanitizer, private renderer: Renderer2) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/loans-account-close/loans-account-close.component.ts b/src/app/loans/loans-view/loan-account-actions/loans-account-close/loans-account-close.component.ts index 4e7520054..691665026 100644 --- a/src/app/loans/loans-view/loan-account-actions/loans-account-close/loans-account-close.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/loans-account-close/loans-account-close.component.ts @@ -39,7 +39,7 @@ export class LoansAccountCloseComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/make-repayment/make-repayment.component.ts b/src/app/loans/loans-view/loan-account-actions/make-repayment/make-repayment.component.ts index 43a85cd10..1b05af7b3 100644 --- a/src/app/loans/loans-view/loan-account-actions/make-repayment/make-repayment.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/make-repayment/make-repayment.component.ts @@ -45,7 +45,7 @@ export class MakeRepaymentComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** @@ -63,7 +63,7 @@ export class MakeRepaymentComponent implements OnInit { */ createRepaymentLoanForm() { this.repaymentLoanForm = this.formBuilder.group({ - 'transactionDate': [new Date(), Validators.required], + 'transactionDate': [this.settingsService.businessDate, Validators.required], 'transactionAmount': ['', Validators.required], 'externalId': '', 'paymentTypeId': '', @@ -83,7 +83,6 @@ export class MakeRepaymentComponent implements OnInit { */ addPaymentDetails() { this.showPaymentDetails = !this.showPaymentDetails; - console.log(this.showPaymentDetails); if (this.showPaymentDetails) { this.repaymentLoanForm.addControl('accountNumber', new FormControl('')); this.repaymentLoanForm.addControl('checkNumber', new FormControl('')); diff --git a/src/app/loans/loans-view/loan-account-actions/prepay-loan/prepay-loan.component.ts b/src/app/loans/loans-view/loan-account-actions/prepay-loan/prepay-loan.component.ts index d03300442..dca0b56aa 100644 --- a/src/app/loans/loans-view/loan-account-actions/prepay-loan/prepay-loan.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/prepay-loan/prepay-loan.component.ts @@ -52,7 +52,7 @@ export class PrepayLoanComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/recovery-repayment/recovery-repayment.component.ts b/src/app/loans/loans-view/loan-account-actions/recovery-repayment/recovery-repayment.component.ts index 6b854ec0d..21855f365 100644 --- a/src/app/loans/loans-view/loan-account-actions/recovery-repayment/recovery-repayment.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/recovery-repayment/recovery-repayment.component.ts @@ -45,7 +45,7 @@ export class RecoveryRepaymentComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/reject-loan/reject-loan.component.ts b/src/app/loans/loans-view/loan-account-actions/reject-loan/reject-loan.component.ts index 9eb2a89b5..cb2204e63 100644 --- a/src/app/loans/loans-view/loan-account-actions/reject-loan/reject-loan.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/reject-loan/reject-loan.component.ts @@ -40,7 +40,7 @@ export class RejectLoanComponent implements OnInit { private loanService: LoansService, private dateUtils: Dates, private settingsService: SettingsService ) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/undo-approval/undo-approval.component.ts b/src/app/loans/loans-view/loan-account-actions/undo-approval/undo-approval.component.ts index b38a355c1..2a05ec669 100644 --- a/src/app/loans/loans-view/loan-account-actions/undo-approval/undo-approval.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/undo-approval/undo-approval.component.ts @@ -36,7 +36,7 @@ export class UndoApprovalComponent implements OnInit { * Submits undo approval form. */ submit() { - const loanId = this.route.parent.snapshot.params['loanId']; + const loanId = this.route.snapshot.params['loanId']; this.loanService.loanActionButtons(loanId, 'undoapproval', { 'note': this.note.value }).subscribe((response: any) => { this.router.navigate(['../../general'], {relativeTo: this.route}); }); diff --git a/src/app/loans/loans-view/loan-account-actions/undo-disbursal/undo-disbursal.component.ts b/src/app/loans/loans-view/loan-account-actions/undo-disbursal/undo-disbursal.component.ts index d075d0741..e2fcbf99e 100644 --- a/src/app/loans/loans-view/loan-account-actions/undo-disbursal/undo-disbursal.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/undo-disbursal/undo-disbursal.component.ts @@ -33,7 +33,7 @@ export class UndoDisbursalComponent implements OnInit { private loansService: LoansService, private router: Router, private route: ActivatedRoute) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/view-guarantors/view-guarantors.component.ts b/src/app/loans/loans-view/loan-account-actions/view-guarantors/view-guarantors.component.ts index a282022ff..89b7373dc 100644 --- a/src/app/loans/loans-view/loan-account-actions/view-guarantors/view-guarantors.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/view-guarantors/view-guarantors.component.ts @@ -37,7 +37,7 @@ export class ViewGuarantorsComponent implements OnInit { public loansService: LoansService, private route: ActivatedRoute, private router: Router) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } ngOnInit() { diff --git a/src/app/loans/loans-view/loan-account-actions/waive-interest/waive-interest.component.ts b/src/app/loans/loans-view/loan-account-actions/waive-interest/waive-interest.component.ts index ee367933d..321898f36 100644 --- a/src/app/loans/loans-view/loan-account-actions/waive-interest/waive-interest.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/waive-interest/waive-interest.component.ts @@ -73,7 +73,7 @@ export class WaiveInterestComponent implements OnInit { dateFormat, locale }; - const loanId = this.route.parent.snapshot.params['loanId']; + const loanId = this.route.snapshot.params['loanId']; this.loanService.submitLoanActionButton(loanId, data, 'waiveinterest').subscribe((response: any) => { this.router.navigate(['../../general'], {relativeTo: this.route}); }); diff --git a/src/app/loans/loans-view/loan-account-actions/withdrawn-by-client/withdrawn-by-client.component.ts b/src/app/loans/loans-view/loan-account-actions/withdrawn-by-client/withdrawn-by-client.component.ts index 1151c5ea2..dc0dffff1 100644 --- a/src/app/loans/loans-view/loan-account-actions/withdrawn-by-client/withdrawn-by-client.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/withdrawn-by-client/withdrawn-by-client.component.ts @@ -41,7 +41,7 @@ export class WithdrawnByClientComponent implements OnInit { private router: Router, private dateUtils: Dates, private settingsService: SettingsService) { - this.loanId = this.route.parent.snapshot.params['loanId']; + this.loanId = this.route.snapshot.params['loanId']; } /** diff --git a/src/app/loans/loans-view/loan-account-actions/write-off-page/write-off-page.component.ts b/src/app/loans/loans-view/loan-account-actions/write-off-page/write-off-page.component.ts index a9e4dc623..fac84c4da 100644 --- a/src/app/loans/loans-view/loan-account-actions/write-off-page/write-off-page.component.ts +++ b/src/app/loans/loans-view/loan-account-actions/write-off-page/write-off-page.component.ts @@ -76,7 +76,7 @@ export class WriteOffPageComponent implements OnInit { dateFormat, locale }; - const loanId = this.route.parent.snapshot.params['loanId']; + const loanId = this.route.snapshot.params['loanId']; delete data.amount; this.loanService.submitLoanActionButton(loanId, data, 'writeoff').subscribe((response: any) => { this.router.navigate(['../../general'], {relativeTo: this.route}); diff --git a/src/app/loans/loans-view/loan-documents-tab/loan-documents-tab.component.ts b/src/app/loans/loans-view/loan-documents-tab/loan-documents-tab.component.ts index ee9b34830..cd19306ee 100644 --- a/src/app/loans/loans-view/loan-documents-tab/loan-documents-tab.component.ts +++ b/src/app/loans/loans-view/loan-documents-tab/loan-documents-tab.component.ts @@ -30,7 +30,7 @@ export class LoanDocumentsTabComponent implements OnInit { constructor(private route: ActivatedRoute, private loansService: LoansService, private settingsService: SettingsService) { - this.entityId = this.route.parent.snapshot.params['loanId']; + this.entityId = this.route.snapshot.params['loanId']; this.route.data.subscribe((data: { loanDocuments: any }) => { this.getLoanDocumentsData(data.loanDocuments); diff --git a/src/app/loans/loans-view/notes-tab/notes-tab.component.ts b/src/app/loans/loans-view/notes-tab/notes-tab.component.ts index 7944f713e..0d4eb68aa 100644 --- a/src/app/loans/loans-view/notes-tab/notes-tab.component.ts +++ b/src/app/loans/loans-view/notes-tab/notes-tab.component.ts @@ -23,7 +23,7 @@ export class NotesTabComponent implements OnInit { private authenticationService: AuthenticationService) { const savedCredentials = this.authenticationService.getCredentials(); this.username = savedCredentials.username; - this.entityId = this.route.parent.snapshot.params['loanId']; + this.entityId = this.route.snapshot.params['loanId']; this.route.data.subscribe((data: { loanNotes: any }) => { this.entityNotes = data.loanNotes; }); diff --git a/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts b/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts index 58eeb90f0..a82401186 100644 --- a/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts +++ b/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts @@ -91,9 +91,10 @@ export class TransactionsTabComponent implements OnInit { * MERCHANT_ISSUED_REFUND:21 * PAYOUT_REFUND:22 * GOODWILL_CREDIT:23 + * CHARGE_ADJUSTMENT:26 */ showTransactions(transactionsData: any) { - if ([1, 2, 4, 9, 20, 21, 22, 23].includes(transactionsData.type.id)) { + if ([1, 2, 4, 9, 20, 21, 22, 23, 26].includes(transactionsData.type.id)) { this.router.navigate([transactionsData.id], { relativeTo: this.route }); } } diff --git a/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.html b/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.html index a1acffec2..e0e740bbe 100644 --- a/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.html +++ b/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.html @@ -39,11 +39,14 @@ -
- Show Payment Details - +
+ + +
+ Show Payment Details +
+
+
diff --git a/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.ts b/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.ts index 53f870ee8..a8ec52994 100644 --- a/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.ts +++ b/src/app/loans/loans-view/transactions/edit-transaction/edit-transaction.component.ts @@ -33,7 +33,7 @@ export class EditTransactionComponent implements OnInit { position: number }[]; /** Flag to enable payment details fields. */ - addPaymentDetailsFlag: Boolean = false; + showPaymentDetails: Boolean = false; /** loan account's Id */ loanAccountId: string; /** Transaction Template */ @@ -58,7 +58,7 @@ export class EditTransactionComponent implements OnInit { this.transactionTemplateData = data.loansAccountTransactionTemplate; this.paymentTypeOptions = this.transactionTemplateData.paymentTypeOptions; }); - this.loanAccountId = this.route.parent.parent.parent.snapshot.params['loanId']; + this.loanAccountId = this.route.snapshot.params['loanId']; } /** @@ -91,8 +91,8 @@ export class EditTransactionComponent implements OnInit { * Method to add payment detail fields to the UI. */ addPaymentDetails() { - this.addPaymentDetailsFlag = !this.addPaymentDetailsFlag; - if (this.addPaymentDetailsFlag) { + this.showPaymentDetails = !this.showPaymentDetails; + if (this.showPaymentDetails) { this.editTransactionForm.addControl('accountNumber', new FormControl('')); this.editTransactionForm.addControl('checkNumber', new FormControl('')); this.editTransactionForm.addControl('routingCode', new FormControl('')); diff --git a/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts b/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts index 55ba70d0e..d8e772301 100644 --- a/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts +++ b/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts @@ -119,7 +119,7 @@ export class ViewTransactionComponent implements OnInit { * Undo the loans transaction */ undoTransaction() { - const accountId = this.route.parent.parent.parent.snapshot.params['loanId']; + const accountId = this.route.snapshot.params['loanId']; const undoTransactionAccountDialogRef = this.dialog.open(ConfirmationDialogComponent, { data: { heading: 'Undo Transaction', dialogContext: `Are you sure you want undo the transaction ${this.transactionData.id}` } }); @@ -141,7 +141,7 @@ export class ViewTransactionComponent implements OnInit { } chargebackTransaction() { - const accountId = this.route.parent.parent.parent.snapshot.params['loanId']; + const accountId = this.route.snapshot.params['loanId']; const formfields: FormfieldBase[] = [ new SelectBase({ controlName: 'paymentTypeId', diff --git a/src/app/loans/loans-view/view-charge/view-charge.component.html b/src/app/loans/loans-view/view-charge/view-charge.component.html index 9e61a69c5..2ac410e80 100644 --- a/src/app/loans/loans-view/view-charge/view-charge.component.html +++ b/src/app/loans/loans-view/view-charge/view-charge.component.html @@ -11,11 +11,19 @@ - + + +
{ this.savingsChargeOptions = data.savingsAccountActionData.chargeOptions; }); - this.savingAccountId = this.route.parent.snapshot.params['savingAccountId']; + this.savingAccountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/apply-annual-fees-savings-account/apply-annual-fees-savings-account.component.ts b/src/app/savings/saving-account-actions/apply-annual-fees-savings-account/apply-annual-fees-savings-account.component.ts index d6628ef1f..680ee3aba 100644 --- a/src/app/savings/saving-account-actions/apply-annual-fees-savings-account/apply-annual-fees-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/apply-annual-fees-savings-account/apply-annual-fees-savings-account.component.ts @@ -45,7 +45,7 @@ export class ApplyAnnualFeesSavingsAccountComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; this.route.data.subscribe((data: { savingsAccountActionData: any }) => { this.savingsAccountData = data.savingsAccountActionData; }); diff --git a/src/app/savings/saving-account-actions/approve-savings-account/approve-savings-account.component.ts b/src/app/savings/saving-account-actions/approve-savings-account/approve-savings-account.component.ts index bba6ca8af..699a51d62 100644 --- a/src/app/savings/saving-account-actions/approve-savings-account/approve-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/approve-savings-account/approve-savings-account.component.ts @@ -41,7 +41,7 @@ export class ApproveSavingsAccountComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/close-savings-account/close-savings-account.component.ts b/src/app/savings/saving-account-actions/close-savings-account/close-savings-account.component.ts index 538152830..f6680ac3a 100644 --- a/src/app/savings/saving-account-actions/close-savings-account/close-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/close-savings-account/close-savings-account.component.ts @@ -51,7 +51,7 @@ export class CloseSavingsAccountComponent implements OnInit { this.paymentTypeOptions = data.savingsAccountActionData[0].paymentTypeOptions; this.transactionAmount = data.savingsAccountActionData[1].summary.accountBalance; }); - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/manage-savings-account/manage-savings-account.component.ts b/src/app/savings/saving-account-actions/manage-savings-account/manage-savings-account.component.ts index 440560a5f..66d75fc0d 100644 --- a/src/app/savings/saving-account-actions/manage-savings-account/manage-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/manage-savings-account/manage-savings-account.component.ts @@ -49,7 +49,7 @@ export class ManageSavingsAccountComponent implements OnInit { private settingsService: SettingsService) { this.transactionCommand = this.route.snapshot.params['name'].toLowerCase().replaceAll(' ', ''); this.transactionType[this.transactionCommand] = true; - this.savingAccountId = this.route.parent.snapshot.params['savingAccountId']; + this.savingAccountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/post-interest-as-on-savings-account/post-interest-as-on-savings-account.component.ts b/src/app/savings/saving-account-actions/post-interest-as-on-savings-account/post-interest-as-on-savings-account.component.ts index e20e67953..70b9719e8 100644 --- a/src/app/savings/saving-account-actions/post-interest-as-on-savings-account/post-interest-as-on-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/post-interest-as-on-savings-account/post-interest-as-on-savings-account.component.ts @@ -41,7 +41,7 @@ export class PostInterestAsOnSavingsAccountComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/reject-savings-account/reject-savings-account.component.ts b/src/app/savings/saving-account-actions/reject-savings-account/reject-savings-account.component.ts index f46ae968d..0ffa1dffe 100644 --- a/src/app/savings/saving-account-actions/reject-savings-account/reject-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/reject-savings-account/reject-savings-account.component.ts @@ -41,7 +41,7 @@ export class RejectSavingsAccountComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/saving-account-actions.component.html b/src/app/savings/saving-account-actions/saving-account-actions.component.html index 8f6563d2a..61397d45e 100644 --- a/src/app/savings/saving-account-actions/saving-account-actions.component.html +++ b/src/app/savings/saving-account-actions/saving-account-actions.component.html @@ -7,7 +7,7 @@ - + diff --git a/src/app/savings/saving-account-actions/saving-account-actions.component.ts b/src/app/savings/saving-account-actions/saving-account-actions.component.ts index e7b19984c..4c9d82d2a 100644 --- a/src/app/savings/saving-account-actions/saving-account-actions.component.ts +++ b/src/app/savings/saving-account-actions/saving-account-actions.component.ts @@ -49,10 +49,15 @@ export class SavingAccountActionsComponent { 'Unblock Account': false }; + currencyCode: string; + /** * @param {ActivatedRoute} route Activated Route */ constructor(private route: ActivatedRoute) { + this.route.data.subscribe((data: { savingsAccountActionData: any }) => { + this.currencyCode = data.savingsAccountActionData.currency.code; + }); const name = this.route.snapshot.params['name']; this.actions[name] = true; } diff --git a/src/app/savings/saving-account-actions/savings-account-assign-staff/savings-account-assign-staff.component.ts b/src/app/savings/saving-account-actions/savings-account-assign-staff/savings-account-assign-staff.component.ts index 1878da1a5..230875f16 100644 --- a/src/app/savings/saving-account-actions/savings-account-assign-staff/savings-account-assign-staff.component.ts +++ b/src/app/savings/saving-account-actions/savings-account-assign-staff/savings-account-assign-staff.component.ts @@ -45,7 +45,7 @@ export class SavingsAccountAssignStaffComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; this.route.data.subscribe((data: { savingsAccountActionData: any }) => { this.savingsAccountData = data.savingsAccountActionData; }); diff --git a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.html b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.html index 442d593ea..b86bfe9fd 100644 --- a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.html +++ b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.html @@ -20,9 +20,11 @@ - + Transaction Amount - + {{ currencyCode }} + + Transaction Amount is required @@ -30,7 +32,7 @@ Payment Type - + {{ paymentType.name }} diff --git a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.scss b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.scss index aeead06e0..50de7f7db 100644 --- a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.scss +++ b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.scss @@ -1,3 +1,15 @@ +.expandcollapsebutton { + margin-top: -7px; +} + .container { - width: 37rem; + max-width: 37rem; +} + +.right-input { +text-align: right; +} + +.right-label { +padding-right: 25px !important; } diff --git a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.ts b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.ts index 774531704..48477d603 100644 --- a/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.ts +++ b/src/app/savings/saving-account-actions/savings-account-transactions/savings-account-transactions.component.ts @@ -1,5 +1,5 @@ /** Angular Imports */ -import { Component, OnInit } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms'; import { Router, ActivatedRoute } from '@angular/router'; @@ -18,6 +18,8 @@ import { Dates } from 'app/core/utils/dates'; }) export class SavingsAccountTransactionsComponent implements OnInit { + @Input() currencyCode: string; + /** Minimum Due Date allowed. */ minDate = new Date(2000, 0, 1); /** Maximum Due Date allowed. */ @@ -61,7 +63,7 @@ export class SavingsAccountTransactionsComponent implements OnInit { }); this.transactionCommand = this.route.snapshot.params['name'].toLowerCase(); this.transactionType[this.transactionCommand] = true; - this.savingAccountId = this.route.parent.snapshot.params['savingAccountId']; + this.savingAccountId = this.route.snapshot.params['savingAccountId']; } /** @@ -77,8 +79,8 @@ export class SavingsAccountTransactionsComponent implements OnInit { */ createSavingAccountTransactionForm() { this.savingAccountTransactionForm = this.formBuilder.group({ - 'transactionDate': ['', Validators.required], - 'transactionAmount': ['', Validators.required], + 'transactionDate': [this.settingsService.businessDate, Validators.required], + 'transactionAmount': [0, Validators.required], 'paymentTypeId': [''], 'note': [''] }); @@ -89,7 +91,6 @@ export class SavingsAccountTransactionsComponent implements OnInit { */ addPaymentDetails() { this.addPaymentDetailsFlag = !this.addPaymentDetailsFlag; - /* if (this.addPaymentDetailsFlag) { this.savingAccountTransactionForm.addControl('accountNumber', new FormControl('')); this.savingAccountTransactionForm.addControl('checkNumber', new FormControl('')); @@ -103,8 +104,6 @@ export class SavingsAccountTransactionsComponent implements OnInit { this.savingAccountTransactionForm.removeControl('receiptNumber'); this.savingAccountTransactionForm.removeControl('bankNumber'); } - - */ } /** diff --git a/src/app/savings/saving-account-actions/savings-account-unassign-staff/savings-account-unassign-staff.component.ts b/src/app/savings/saving-account-actions/savings-account-unassign-staff/savings-account-unassign-staff.component.ts index cf6a309a2..d0770fa17 100644 --- a/src/app/savings/saving-account-actions/savings-account-unassign-staff/savings-account-unassign-staff.component.ts +++ b/src/app/savings/saving-account-actions/savings-account-unassign-staff/savings-account-unassign-staff.component.ts @@ -41,7 +41,7 @@ export class SavingsAccountUnassignStaffComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/undo-approval-savings-account/undo-approval-savings-account.component.ts b/src/app/savings/saving-account-actions/undo-approval-savings-account/undo-approval-savings-account.component.ts index d3a999171..ef661cdb3 100644 --- a/src/app/savings/saving-account-actions/undo-approval-savings-account/undo-approval-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/undo-approval-savings-account/undo-approval-savings-account.component.ts @@ -31,7 +31,7 @@ export class UndoApprovalSavingsAccountComponent implements OnInit { private savingsService: SavingsService, private route: ActivatedRoute, private router: Router) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/saving-account-actions/withdraw-by-client-savings-account/withdraw-by-client-savings-account.component.ts b/src/app/savings/saving-account-actions/withdraw-by-client-savings-account/withdraw-by-client-savings-account.component.ts index 0b5487d51..fb4a0c00a 100644 --- a/src/app/savings/saving-account-actions/withdraw-by-client-savings-account/withdraw-by-client-savings-account.component.ts +++ b/src/app/savings/saving-account-actions/withdraw-by-client-savings-account/withdraw-by-client-savings-account.component.ts @@ -41,7 +41,7 @@ export class WithdrawByClientSavingsAccountComponent implements OnInit { private route: ActivatedRoute, private router: Router, private settingsService: SettingsService) { - this.accountId = this.route.parent.snapshot.params['savingAccountId']; + this.accountId = this.route.snapshot.params['savingAccountId']; } /** diff --git a/src/app/savings/savings-account-stepper/savings-account-preview-step/savings-account-preview-step.component.html b/src/app/savings/savings-account-stepper/savings-account-preview-step/savings-account-preview-step.component.html index 228bebf92..c166d8713 100644 --- a/src/app/savings/savings-account-stepper/savings-account-preview-step/savings-account-preview-step.component.html +++ b/src/app/savings/savings-account-stepper/savings-account-preview-step/savings-account-preview-step.component.html @@ -38,11 +38,6 @@ {{ savingsAccountTermsForm.get('decimal').value }}
-
- Currency in multiples of - {{ savingsAccountTermsForm.get('currencyMultiple').value }} -
-
Nominal Annual Interest Rate: {{ savingsAccount.nominalAnnualInterestRate }} diff --git a/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.html b/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.html index 52803b666..782002ad9 100644 --- a/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.html +++ b/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.html @@ -12,11 +12,6 @@ - - Currency in multiples of - - - Nominal Annual Interest Rate diff --git a/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.ts b/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.ts index 5d148d654..a51c2f469 100644 --- a/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.ts +++ b/src/app/savings/savings-account-stepper/savings-account-terms-step/savings-account-terms-step.component.ts @@ -50,7 +50,6 @@ export class SavingsAccountTermsStepComponent implements OnChanges, OnInit { this.savingsAccountTermsForm.patchValue({ 'currencyCode': this.savingsAccountProductTemplate.currency.code, 'decimal': this.savingsAccountProductTemplate.currency.decimalPlaces, - 'currencyMultiple': this.savingsAccountProductTemplate.currency.inMultiplesOf, 'minBalanceForInterestCalculation': this.savingsAccountProductTemplate.minBalanceForInterestCalculation, 'nominalAnnualInterestRate': this.savingsAccountProductTemplate.nominalAnnualInterestRate, 'interestCompoundingPeriodType': this.savingsAccountProductTemplate.interestCompoundingPeriodType.id, @@ -99,7 +98,6 @@ export class SavingsAccountTermsStepComponent implements OnChanges, OnInit { 'decimal': [{value: '', disabled: true}], 'nominalAnnualInterestRate': ['', Validators.required], 'interestCompoundingPeriodType': ['', Validators.required], - 'currencyMultiple': [{value: '', disabled: true}], 'interestPostingPeriodType': ['', Validators.required], 'interestCalculationType': ['', Validators.required], 'interestCalculationDaysInYearType': ['', Validators.required], @@ -146,7 +144,10 @@ export class SavingsAccountTermsStepComponent implements OnChanges, OnInit { * Returns savings account terms form value. */ get savingsAccountTerms() { - return this.savingsAccountTermsForm.getRawValue(); + const payload = this.savingsAccountTermsForm.getRawValue(); + delete payload.currencyCode; + delete payload.decimal; + return payload; } } diff --git a/src/app/savings/savings-account-view/charges-tab/charges-tab.component.ts b/src/app/savings/savings-account-view/charges-tab/charges-tab.component.ts index 1bb0025d8..a86cb3f8a 100644 --- a/src/app/savings/savings-account-view/charges-tab/charges-tab.component.ts +++ b/src/app/savings/savings-account-view/charges-tab/charges-tab.component.ts @@ -135,7 +135,7 @@ export class ChargesTabComponent implements OnInit { dateFormat, locale }; - this.savingsService.executeSavingsAccountChargesCommand(this.savingsAccountData.id, 'pay', dataObject, chargeId) + this.savingsService.executeSavingsAccountChargesCommand(this.savingsAccountData.id, 'paycharge', dataObject, chargeId) .subscribe(() => { this.reload(); }); diff --git a/src/app/savings/savings-account-view/notes-tab/notes-tab.component.ts b/src/app/savings/savings-account-view/notes-tab/notes-tab.component.ts index 56da5ddfa..ec67cdd1e 100644 --- a/src/app/savings/savings-account-view/notes-tab/notes-tab.component.ts +++ b/src/app/savings/savings-account-view/notes-tab/notes-tab.component.ts @@ -19,7 +19,7 @@ export class NotesTabComponent implements OnInit { private authenticationService: AuthenticationService) { const savedCredentials = this.authenticationService.getCredentials(); this.username = savedCredentials.username; - this.entityId = this.route.parent.snapshot.params['savingAccountId']; + this.entityId = this.route.snapshot.params['savingAccountId']; this.route.data.subscribe((data: { savingAccountNotes: any }) => { this.entityNotes = data.savingAccountNotes; }); diff --git a/src/app/savings/savings-account-view/savings-account-view.component.html b/src/app/savings/savings-account-view/savings-account-view.component.html index ae15da436..11317b2e5 100644 --- a/src/app/savings/savings-account-view/savings-account-view.component.html +++ b/src/app/savings/savings-account-view/savings-account-view.component.html @@ -75,7 +75,7 @@