refactor: loans module (#1237)
This commit is contained in:
+1
-1
@@ -131,7 +131,7 @@
|
|||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!makeAccountTransferForm.valid" *mifosxHasPermission="'CREATE_ACCOUNTTRANSFER'"
|
<button mat-raised-button color="primary" [disabled]="!makeAccountTransferForm.valid" *mifosxHasPermission="'CREATE_ACCOUNTTRANSFER'"
|
||||||
(click)="submit()">Submit</button>
|
(click)="submit()">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|||||||
+1
-1
@@ -186,7 +186,7 @@ export class MakeAccountTransfersComponent implements OnInit, AfterViewInit {
|
|||||||
fromOfficeId: this.accountTransferTemplateData.fromClient.officeId
|
fromOfficeId: this.accountTransferTemplateData.fromClient.officeId
|
||||||
};
|
};
|
||||||
this.accountTransfersService.createAccountTransfer(makeAccountTransferData).subscribe(() => {
|
this.accountTransfersService.createAccountTransfer(makeAccountTransferData).subscribe(() => {
|
||||||
this.router.navigate(['../../'], { relativeTo: this.route });
|
this.router.navigate(['../../general'], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,8 +229,7 @@ const routes: Routes = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'loans',
|
path: 'loans-accounts',
|
||||||
data: { title: extract('Loans'), breadcrumb: 'loans', routeParamBreadcrumb: false },
|
|
||||||
loadChildren: () => import('../loans/loans.module').then(m => m.LoansModule)
|
loadChildren: () => import('../loans/loans.module').then(m => m.LoansModule)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<button mat-raised-button [matMenuTriggerFor]="Applications">
|
<button mat-raised-button [matMenuTriggerFor]="Applications">
|
||||||
<i class="fa fa-file"></i>Applications</button>
|
<i class="fa fa-file"></i>Applications</button>
|
||||||
<mat-menu #Applications="matMenu">
|
<mat-menu #Applications="matMenu">
|
||||||
<button mat-menu-item [routerLink]="['loans', 'create-loans-account']">New Loan Account</button>
|
<button mat-menu-item [routerLink]="['loans-accounts', 'create']">New Loan Account</button>
|
||||||
<button mat-menu-item [routerLink]="['savings-accounts', 'create']">New Savings Account</button>
|
<button mat-menu-item [routerLink]="['savings-accounts', 'create']">New Savings Account</button>
|
||||||
<button mat-menu-item *mifosxHasPermission="'CREATE_SHAREACCOUNT'" [routerLink]="['shares-accounts', 'create']">New Share Account</button>
|
<button mat-menu-item *mifosxHasPermission="'CREATE_SHAREACCOUNT'" [routerLink]="['shares-accounts', 'create']">New Share Account</button>
|
||||||
<button mat-menu-item *mifosxHasPermission="'CREATE_RECURRINGDEPOSITACCOUNT'" [routerLink]="['recurringdeposits', 'create-recurring-deposits-account']">New Recurring Deposit Account</button>
|
<button mat-menu-item *mifosxHasPermission="'CREATE_RECURRINGDEPOSITACCOUNT'" [routerLink]="['recurringdeposits', 'create-recurring-deposits-account']">New Recurring Deposit Account</button>
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- loans overview table -->
|
<!-- loans accounts overview table -->
|
||||||
<div class="heading-content">
|
<div class="heading-content">
|
||||||
<div fxLayout="column" fxFlex="50%">
|
<div fxLayout="column" fxFlex="50%">
|
||||||
<div class="heading-name">
|
<div class="heading-name">
|
||||||
@@ -137,20 +137,20 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary" matTooltip="Make Repayment" matTooltipPosition="above"
|
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary" matTooltip="Make Repayment" matTooltipPosition="above"
|
||||||
(click)="routeEdit($event)" [routerLink]="['../','loans', element.id, 'actions', 'make-repayment']">
|
(click)="routeEdit($event)" [routerLink]="['../','loans-accounts', element.id, 'actions', 'Make Repayment']">
|
||||||
<i class="fa fa-dollar"></i>
|
<i class="fa fa-dollar"></i>
|
||||||
</button>
|
</button>
|
||||||
<span *ngIf="element.status.pendingApproval">
|
<span *ngIf="element.status.pendingApproval">
|
||||||
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Approve"
|
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Approve"
|
||||||
matTooltipPosition="above" *mifosxHasPermission="'APPROVE_LOAN'" (click)="routeEdit($event)"
|
matTooltipPosition="above" *mifosxHasPermission="'APPROVE_LOAN'" (click)="routeEdit($event)"
|
||||||
[routerLink]="['../','loans', element.id, 'actions', 'approve']">
|
[routerLink]="['../','loans-accounts', element.id, 'actions', 'Approve']">
|
||||||
<i class="fa fa-check"></i>
|
<i class="fa fa-check"></i>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="!element.status.pendingApproval && !element.status.active && !element.status.overpaid">
|
<span *ngIf="!element.status.pendingApproval && !element.status.active && !element.status.overpaid">
|
||||||
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Disburse"
|
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Disburse"
|
||||||
matTooltipPosition="above" *mifosxHasPermission="'DISBURSE_LOAN'"
|
matTooltipPosition="above" *mifosxHasPermission="'DISBURSE_LOAN'"
|
||||||
(click)="routeEdit($event)" [routerLink]="['../','loans', element.id, 'actions', 'disburse']">
|
(click)="routeEdit($event)" [routerLink]="['../','loans-accounts', element.id, 'actions', 'Disburse']">
|
||||||
<i class="fa fa-flag"></i>
|
<i class="fa fa-flag"></i>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
|
|
||||||
<tr mat-header-row *matHeaderRowDef="openLoansColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="openLoansColumns"></tr>
|
||||||
<tr mat-row *matRowDef="let row; columns: openLoansColumns;"
|
<tr mat-row *matRowDef="let row; columns: openLoansColumns;"
|
||||||
[routerLink]="['../', 'loans', row.id, 'general']" class="select-row"></tr>
|
[routerLink]="['../', 'loans-accounts', row.id, 'general']" class="select-row"></tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
|
|
||||||
<tr mat-header-row *matHeaderRowDef="closedLoansColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="closedLoansColumns"></tr>
|
||||||
<tr mat-row *matRowDef="let row; columns: closedLoansColumns;"
|
<tr mat-row *matRowDef="let row; columns: closedLoansColumns;"
|
||||||
[routerLink]="['../', 'loans', row.id, 'general']" class="select-row"></tr>
|
[routerLink]="['../', 'loans-accounts', row.id, 'general']" class="select-row"></tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ export class GeneralTabComponent {
|
|||||||
*/
|
*/
|
||||||
routeTransferFund(loanId: any) {
|
routeTransferFund(loanId: any) {
|
||||||
const queryParams: any = { loanId: loanId, accountType: 'fromloans' };
|
const queryParams: any = { loanId: loanId, accountType: 'fromloans' };
|
||||||
this.router.navigate(['../', 'loans', loanId, 'transfer-funds', 'make-account-transfer'], { relativeTo: this.route, queryParams: queryParams });
|
this.router.navigate(['../', 'loans-accounts', loanId, 'transfer-funds', 'make-account-transfer'], { relativeTo: this.route, queryParams: queryParams });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -104,7 +104,7 @@
|
|||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Actions </th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header> Actions </th>
|
||||||
<td mat-cell *matCellDef="let loan; let i = index">
|
<td mat-cell *matCellDef="let loan; let i = index">
|
||||||
<button mat-raised-button color="primary" (click)="showAndStorePaymentDetails('loans', loan, i)">Add Payment</button>
|
<button mat-raised-button color="primary" (click)="showAndStorePaymentDetails('loans-accounts', loan, i)">Add Payment</button>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -134,8 +134,7 @@ const routes: Routes = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'loans',
|
path: 'loans-accounts',
|
||||||
data: { title: extract('Loans'), breadcrumb: 'loans', routeParamBreadcrumb: false },
|
|
||||||
loadChildren: () => import('../loans/loans.module').then(m => m.LoansModule)
|
loadChildren: () => import('../loans/loans.module').then(m => m.LoansModule)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<tr mat-header-row *matHeaderRowDef="openLoansColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="openLoansColumns"></tr>
|
||||||
<tr mat-row *matRowDef="let row; columns: openLoansColumns;" [routerLink]="['../', 'loans', row.id, 'general']"></tr>
|
<tr mat-row *matRowDef="let row; columns: openLoansColumns;" [routerLink]="['../', 'loans-accounts', row.id, 'general']"></tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<tr mat-header-row *matHeaderRowDef="closedLoansColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="closedLoansColumns"></tr>
|
||||||
<tr mat-row *matRowDef="let row; columns: closedLoansColumns;" [routerLink]="['../', 'loans', row.id, 'general']"></tr>
|
<tr mat-row *matRowDef="let row; columns: closedLoansColumns;" [routerLink]="['../', 'loans-accounts', row.id, 'general']"></tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
@@ -26,39 +26,39 @@ export class LoanActionButtonResolver implements Resolve<Object> {
|
|||||||
resolve(route: ActivatedRouteSnapshot): Observable<any> {
|
resolve(route: ActivatedRouteSnapshot): Observable<any> {
|
||||||
const loanId = route.parent.paramMap.get('loanId');
|
const loanId = route.parent.paramMap.get('loanId');
|
||||||
const loanActionButton = route.paramMap.get('action');
|
const loanActionButton = route.paramMap.get('action');
|
||||||
if (loanActionButton === 'assign-loan-officer' || loanActionButton === 'change-loan-officer') {
|
if (loanActionButton === 'Assign Loan Officer' || loanActionButton === 'Change Loan Officer') {
|
||||||
return this.loansService.getLoanTemplate(loanId);
|
return this.loansService.getLoanTemplate(loanId);
|
||||||
// } else if (loanActionButton === 'make-repayment') {
|
// } else if (loanActionButton === 'make-repayment') {
|
||||||
// return this.loansService.getLoanActionTemplate(loanId, 'repayment');
|
// return this.loansService.getLoanActionTemplate(loanId, 'repayment');
|
||||||
} else if (loanActionButton === 'waive-interest') {
|
} else if (loanActionButton === 'Waive Interest') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'waiveinterest');
|
return this.loansService.getLoanActionTemplate(loanId, 'waiveinterest');
|
||||||
} else if (loanActionButton === 'write-off') {
|
} else if (loanActionButton === 'Write Off') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'writeoff');
|
return this.loansService.getLoanActionTemplate(loanId, 'writeoff');
|
||||||
} else if (loanActionButton === 'close') {
|
} else if (loanActionButton === 'Close') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'close');
|
return this.loansService.getLoanActionTemplate(loanId, 'close');
|
||||||
} else if (loanActionButton === 'close-as-rescheduled') {
|
} else if (loanActionButton === 'Close (as Rescheduled)') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'close-rescheduled');
|
return this.loansService.getLoanActionTemplate(loanId, 'close-rescheduled');
|
||||||
} else if (loanActionButton === 'reschedule') {
|
} else if (loanActionButton === 'Reschedule') {
|
||||||
return this.loansService.rescheduleLoanTemplate();
|
return this.loansService.rescheduleLoanTemplate();
|
||||||
} else if (loanActionButton === 'prepay-loan') {
|
} else if (loanActionButton === 'Prepay Loan') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'prepayLoan');
|
return this.loansService.getLoanActionTemplate(loanId, 'prepayLoan');
|
||||||
} else if (loanActionButton === 'add-collateral') {
|
} else if (loanActionButton === 'Add Collateral') {
|
||||||
return this.loansService.getLoanCollateralTemplate(loanId);
|
return this.loansService.getLoanCollateralTemplate(loanId);
|
||||||
} else if (loanActionButton === 'disburse-to-savings') {
|
} else if (loanActionButton === 'Disburse to Savings') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'disburseToSavings');
|
return this.loansService.getLoanActionTemplate(loanId, 'disburseToSavings');
|
||||||
} else if (loanActionButton === 'recovery-payment') {
|
} else if (loanActionButton === 'Recovery Payment') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'recoverypayment');
|
return this.loansService.getLoanActionTemplate(loanId, 'recoverypayment');
|
||||||
} else if (loanActionButton === 'view-guarantors') {
|
} else if (loanActionButton === 'View Guarantors') {
|
||||||
return this.loansService.getLoanAccountResource(loanId, 'guarantors');
|
return this.loansService.getLoanAccountResource(loanId, 'guarantors');
|
||||||
} else if (loanActionButton === 'create-guarantor') {
|
} else if (loanActionButton === 'Create Guarantor') {
|
||||||
return this.loansService.getGuarantorTemplate(loanId);
|
return this.loansService.getGuarantorTemplate(loanId);
|
||||||
} else if (loanActionButton === 'disburse') {
|
} else if (loanActionButton === 'Disburse') {
|
||||||
return this.loansService.getLoanActionTemplate(loanId, 'disburse');
|
return this.loansService.getLoanActionTemplate(loanId, 'disburse');
|
||||||
} else if (loanActionButton === 'loan-screen-reports') {
|
} else if (loanActionButton === 'Loan Screen Reports') {
|
||||||
return this.loansService.getLoanScreenReportsData();
|
return this.loansService.getLoanScreenReportsData();
|
||||||
} else if (loanActionButton === 'approve') {
|
} else if (loanActionButton === 'Approve') {
|
||||||
return this.loansService.getLoanApprovalTemplate(loanId);
|
return this.loansService.getLoanApprovalTemplate(loanId);
|
||||||
} else if (loanActionButton === 'add-loan-charge') {
|
} else if (loanActionButton === 'Add Loan Charge') {
|
||||||
return this.loansService.getLoanChargeTemplateResource(loanId);
|
return this.loansService.getLoanChargeTemplateResource(loanId);
|
||||||
} else {
|
} else {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export class LoanDetailsResolver implements Resolve<Object> {
|
|||||||
* @returns {Observable<any>}
|
* @returns {Observable<any>}
|
||||||
*/
|
*/
|
||||||
resolve(route: ActivatedRouteSnapshot): Observable<any> {
|
resolve(route: ActivatedRouteSnapshot): Observable<any> {
|
||||||
const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId');
|
const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId') || route.parent.parent.paramMap.get('loanId');
|
||||||
return this.loansService.getLoanAccountAssociationDetails(loanId);
|
return this.loansService.getLoanAccountAssociationDetails(loanId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-8
@@ -1,8 +0,0 @@
|
|||||||
<h1 mat-dialog-title>{{data.heading}}</h1>
|
|
||||||
<div mat-dialog-content>
|
|
||||||
<p>{{ data.dialogContext }}</p>
|
|
||||||
</div>
|
|
||||||
<mat-dialog-actions align="end">
|
|
||||||
<button mat-raised-button mat-dialog-close>Cancel</button>
|
|
||||||
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">Confirm</button>
|
|
||||||
</mat-dialog-actions>
|
|
||||||
-25
@@ -1,25 +0,0 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
|
|
||||||
import { LoansConfirmationDialogBoxComponent } from './loans-confirmation-dialog-box.component';
|
|
||||||
|
|
||||||
describe('LoansConfirmationDialogBoxComponent', () => {
|
|
||||||
let component: LoansConfirmationDialogBoxComponent;
|
|
||||||
let fixture: ComponentFixture<LoansConfirmationDialogBoxComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
declarations: [ LoansConfirmationDialogBoxComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(LoansConfirmationDialogBoxComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
-22
@@ -1,22 +0,0 @@
|
|||||||
import { Component, OnInit, Inject } from '@angular/core';
|
|
||||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
||||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'mifosx-loans-confirmation-dialog-box',
|
|
||||||
templateUrl: './loans-confirmation-dialog-box.component.html',
|
|
||||||
styleUrls: ['./loans-confirmation-dialog-box.component.scss']
|
|
||||||
})
|
|
||||||
export class LoansConfirmationDialogBoxComponent implements OnInit {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {MatDialogRef} dialogRef Component reference to dialog.
|
|
||||||
* @param {any} data Provides a confirmation for all the loans account actions.
|
|
||||||
*/
|
|
||||||
constructor(public dialogRef: MatDialogRef<LoansConfirmationDialogBoxComponent>,
|
|
||||||
@Inject(MAT_DIALOG_DATA) public data: any) { }
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -33,7 +33,6 @@ import { ExportTransactionsComponent } from './loans-view/transactions/export-tr
|
|||||||
/** Custom Resolvers */
|
/** Custom Resolvers */
|
||||||
import { LoanDetailsResolver } from './common-resolvers/loan-details.resolver';
|
import { LoanDetailsResolver } from './common-resolvers/loan-details.resolver';
|
||||||
import { LoanNotesResolver } from './common-resolvers/loan-notes.resolver';
|
import { LoanNotesResolver } from './common-resolvers/loan-notes.resolver';
|
||||||
import { LoanDetailsChargesResolver } from './common-resolvers/loan-details-charges.resolver';
|
|
||||||
import { LoanDatatablesResolver } from './common-resolvers/loan-datatables.resolver';
|
import { LoanDatatablesResolver } from './common-resolvers/loan-datatables.resolver';
|
||||||
import { LoanDatatableResolver } from './common-resolvers/loan-datatable.resolver';
|
import { LoanDatatableResolver } from './common-resolvers/loan-datatable.resolver';
|
||||||
import { LoanActionButtonResolver } from './common-resolvers/loan-action-button.resolver';
|
import { LoanActionButtonResolver } from './common-resolvers/loan-action-button.resolver';
|
||||||
@@ -49,10 +48,10 @@ import { LoansAccountTransactionTemplateResolver } from './common-resolvers/loan
|
|||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
// Component to View All existing Loans Comes Here
|
data: { title: extract('Loans'), breadcrumb: 'Loans', routeParamBreadcrumb: false },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'create-loans-account',
|
path: 'create',
|
||||||
data: { title: extract('Create Loans Account'), breadcrumb: 'Create Loans Account' },
|
data: { title: extract('Create Loans Account'), breadcrumb: 'Create Loans Account' },
|
||||||
component: CreateLoansAccountComponent,
|
component: CreateLoansAccountComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
@@ -62,7 +61,6 @@ const routes: Routes = [
|
|||||||
{
|
{
|
||||||
path: ':loanId',
|
path: ':loanId',
|
||||||
data: { title: extract('Loan View'), routeParamBreadcrumb: 'loanId' },
|
data: { title: extract('Loan View'), routeParamBreadcrumb: 'loanId' },
|
||||||
// Component For Loan View Comes Here
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
@@ -86,24 +84,15 @@ const routes: Routes = [
|
|||||||
path: 'original-schedule',
|
path: 'original-schedule',
|
||||||
component: OriginalScheduleTabComponent,
|
component: OriginalScheduleTabComponent,
|
||||||
data: { title: extract('Original Schedule'), breadcrumb: 'Original Schedule', routeParamBreadcrumb: false },
|
data: { title: extract('Original Schedule'), breadcrumb: 'Original Schedule', routeParamBreadcrumb: false },
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'repayment-schedule',
|
path: 'repayment-schedule',
|
||||||
component: RepaymentScheduleTabComponent,
|
component: RepaymentScheduleTabComponent,
|
||||||
data: { title: extract('Repayment Schedule'), breadcrumb: 'Repayment Schedule', routeParamBreadcrumb: false },
|
data: { title: extract('Repayment Schedule'), breadcrumb: 'Repayment Schedule', routeParamBreadcrumb: false },
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'transactions',
|
path: 'transactions',
|
||||||
data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
|
data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
},
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
@@ -113,6 +102,78 @@ const routes: Routes = [
|
|||||||
{
|
{
|
||||||
path: 'export',
|
path: 'export',
|
||||||
component: ExportTransactionsComponent
|
component: ExportTransactionsComponent
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
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: 'transactions',
|
||||||
|
data: { title: extract('Loans Account Transactions'), breadcrumb: 'Transactions', routeParamBreadcrumb: false },
|
||||||
|
resolve: {
|
||||||
|
loanDetailsAssociationData: LoanDetailsResolver
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
redirectTo: '../transactions', pathMatch: 'prefix'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
@@ -145,89 +206,25 @@ const routes: Routes = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'loan-collateral',
|
|
||||||
component: LoanCollateralTabComponent,
|
|
||||||
data: { title: extract('Loan Collateral Details'), breadcrumb: 'Loan Collateral Details', routeParamBreadcrumb: false },
|
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'loan-tranche-details',
|
|
||||||
component: LoanTrancheDetailsComponent,
|
|
||||||
data: { title: extract('Loan Tranche Details'), breadcrumb: 'Loan Tranche Details', routeParamBreadcrumb: false },
|
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
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 },
|
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'charges',
|
path: 'charges',
|
||||||
data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false },
|
data: { title: extract('Loans Account Charges'), breadcrumb: 'Charges', routeParamBreadcrumb: false },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
component: ChargesTabComponent,
|
redirectTo: '../charges', pathMatch: 'prefix'
|
||||||
resolve: {
|
|
||||||
loanDetailsAssociationData: LoanDetailsChargesResolver
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ':id',
|
path: ':id',
|
||||||
data: { routeParamBreadcrumb: 'id' },
|
data: { routeParamBreadcrumb: 'id' },
|
||||||
component: ViewChargeComponent,
|
component: ViewChargeComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
loansAccountCharge: LoansAccountChargeResolver
|
loansAccountCharge: LoansAccountChargeResolver,
|
||||||
|
loanDetailsData: LoanDetailsResolver
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'loan-documents',
|
|
||||||
component: LoanDocumentsTabComponent,
|
|
||||||
data: { title: extract('Loan Documents'), breadcrumb: 'Loan Documents', routeParamBreadcrumb: false },
|
|
||||||
resolve: {
|
|
||||||
loanDocuments: LoanDocumentsResolver,
|
|
||||||
loanDetailsData: LoanDetailsResolver
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
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: 'actions/:action',
|
path: 'actions/:action',
|
||||||
component: LoanAccountActionsComponent,
|
component: LoanAccountActionsComponent,
|
||||||
@@ -239,8 +236,6 @@ const routes: Routes = [
|
|||||||
{
|
{
|
||||||
path: 'transfer-funds',
|
path: 'transfer-funds',
|
||||||
loadChildren: () => import('../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule)
|
loadChildren: () => import('../account-transfers/account-transfers.module').then(m => m.AccountTransfersModule)
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'edit-loans-account',
|
path: 'edit-loans-account',
|
||||||
@@ -261,7 +256,6 @@ const routes: Routes = [
|
|||||||
providers: [
|
providers: [
|
||||||
LoanDetailsResolver,
|
LoanDetailsResolver,
|
||||||
LoanNotesResolver,
|
LoanNotesResolver,
|
||||||
LoanDetailsChargesResolver,
|
|
||||||
LoanDatatablesResolver,
|
LoanDatatablesResolver,
|
||||||
LoanDatatableResolver,
|
LoanDatatableResolver,
|
||||||
LoanActionButtonResolver,
|
LoanActionButtonResolver,
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ export class ChargesTabComponent implements OnInit {
|
|||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog) {
|
||||||
this.route.data.subscribe(( data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe(( data: { loanDetailsData: any }) => {
|
||||||
this.loanDetails = data.loanDetailsAssociationData;
|
this.loanDetails = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@ export class ChargesTabComponent implements OnInit {
|
|||||||
private reload() {
|
private reload() {
|
||||||
const clientId = this.loanDetails.clientId;
|
const clientId = this.loanDetails.clientId;
|
||||||
const url: string = this.router.url;
|
const url: string = this.router.url;
|
||||||
this.router.navigateByUrl(`/clients/${clientId}/loans`, { skipLocationChange: true })
|
this.router.navigateByUrl(`/clients/${clientId}/loans-accounts`, { skipLocationChange: true })
|
||||||
.then(() => this.router.navigate([url]));
|
.then(() => this.router.navigate([url]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ export class FloatingInterestRatesComponent implements OnInit {
|
|||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute) {
|
constructor(private route: ActivatedRoute) {
|
||||||
this.route.data.subscribe(( data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe(( data: { loanDetailsData: any }) => {
|
||||||
this.loanDetails = data.loanDetailsAssociationData;
|
this.loanDetails = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="collateralForm" (ngSubmit)="submit()">
|
<form [formGroup]="collateralForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -9,7 +11,8 @@
|
|||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Collateral Type</mat-label>
|
<mat-label>Collateral Type</mat-label>
|
||||||
<mat-select required formControlName="collateralTypeId">
|
<mat-select required formControlName="collateralTypeId">
|
||||||
<mat-option *ngFor="let collateral of dataObject.allowedCollateralTypes" [value]="collateral.id"> {{ collateral.name }}</mat-option>
|
<mat-option *ngFor="let collateral of dataObject.allowedCollateralTypes" [value]="collateral.id">
|
||||||
|
{{ collateral.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
<mat-error *ngIf="collateralForm.controls.collateralTypeId.hasError('required')">
|
<mat-error *ngIf="collateralForm.controls.collateralTypeId.hasError('required')">
|
||||||
Collateral type <strong>required</strong>
|
Collateral type <strong>required</strong>
|
||||||
@@ -34,11 +37,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!collateralForm.valid" *mifosxHasPermission="'CREATE_COLLATERAL'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!collateralForm.valid"
|
||||||
|
*mifosxHasPermission="'CREATE_COLLATERAL'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+12
-2
@@ -1,3 +1,7 @@
|
|||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="loanChargeForm" (ngSubmit)="submit()">
|
<form [formGroup]="loanChargeForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -47,9 +51,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
|
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!loanChargeForm.valid" *mifosxHasPermission="'CREATE_LOANCHARGE'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!loanChargeForm.valid"
|
||||||
|
*mifosxHasPermission="'CREATE_LOANCHARGE'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -105,7 +105,7 @@ export class AddLoanChargeComponent implements OnInit {
|
|||||||
loanCharge.locale = 'en';
|
loanCharge.locale = 'en';
|
||||||
loanCharge.dateFormat = dateFormat;
|
loanCharge.dateFormat = dateFormat;
|
||||||
this.loansService.createLoanCharge(this.loanId, 'charges', loanCharge).subscribe(res => {
|
this.loansService.createLoanCharge(this.loanId, 'charges', loanCharge).subscribe(res => {
|
||||||
this.router.navigate(['../../'], { relativeTo: this.route });
|
this.router.navigate(['../../general'], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="approveLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="approveLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -46,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!approveLoanForm.valid"
|
<button mat-raised-button color="primary" [disabled]="!approveLoanForm.valid"
|
||||||
*mifosxHasPermission="'APPROVE_LOAN'">Submit</button>
|
*mifosxHasPermission="'APPROVE_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
@@ -55,4 +57,6 @@
|
|||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -88,7 +88,7 @@ export class ApproveLoanComponent implements OnInit {
|
|||||||
local
|
local
|
||||||
};
|
};
|
||||||
this.loanService.loanActionButtons(this.loanId, 'approve', approveLoanFormData).subscribe((response: any) => {
|
this.loanService.loanActionButtons(this.loanId, 'approve', approveLoanFormData).subscribe((response: any) => {
|
||||||
this.router.navigate(['../../'], { relativeTo: this.route });
|
this.router.navigate(['../../general'], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="assignOfficerForm" (ngSubmit)="submit()">
|
<form [formGroup]="assignOfficerForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -20,7 +22,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Assignment Date</mat-label>
|
<mat-label>Assignment Date</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="assignOnDatePicker" required formControlName="assignmentDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="assignOnDatePicker" required
|
||||||
|
formControlName="assignmentDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="assignOnDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="assignOnDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #assignOnDatePicker></mat-datepicker>
|
<mat-datepicker #assignOnDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="assignOfficerForm.controls.assignmentDate.hasError('required')">
|
<mat-error *ngIf="assignOfficerForm.controls.assignmentDate.hasError('required')">
|
||||||
@@ -32,11 +35,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!assignOfficerForm.valid" *mifosxHasPermission="'BULKREASSIGN_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!assignOfficerForm.valid"
|
||||||
|
*mifosxHasPermission="'BULKREASSIGN_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -68,7 +68,7 @@ export class AssignLoanOfficerComponent implements OnInit {
|
|||||||
|
|
||||||
this.loanService.loanActionButtons(this.loanId, 'assignLoanOfficer', assignForm)
|
this.loanService.loanActionButtons(this.loanId, 'assignLoanOfficer', assignForm)
|
||||||
.subscribe((response: any) => {
|
.subscribe((response: any) => {
|
||||||
this.router.navigate([`../../${this.loanId}/general`], { relativeTo: this.route });
|
this.router.navigate([`../../general`], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Closed On</mat-label>
|
<mat-label>Closed On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #closedDatePicker></mat-datepicker>
|
<mat-datepicker #closedDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -25,11 +28,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid" *mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+5
@@ -1,4 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="newGuarantorForm" (ngSubmit)="submit()">
|
<form [formGroup]="newGuarantorForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -153,4 +156,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="disbursementForm" (ngSubmit)="submit()">
|
<form [formGroup]="disbursementForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Disbursement On</mat-label>
|
<mat-label>Disbursement On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="disbursementDatePicker" required formControlName="actualDisbursementDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="disbursementDatePicker" required
|
||||||
|
formControlName="actualDisbursementDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #disbursementDatePicker></mat-datepicker>
|
<mat-datepicker #disbursementDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="disbursementForm.controls.actualDisbursementDate.hasError('required')">
|
<mat-error *ngIf="disbursementForm.controls.actualDisbursementDate.hasError('required')">
|
||||||
@@ -41,11 +44,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!disbursementForm.valid" *mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!disbursementForm.valid"
|
||||||
|
*mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="disbursementLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="disbursementLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Disbursed On</mat-label>
|
<mat-label>Disbursed On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="actualDisbursementDatePicker" required formControlName="actualDisbursementDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="actualDisbursementDatePicker" required
|
||||||
|
formControlName="actualDisbursementDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="actualDisbursementDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="actualDisbursementDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #actualDisbursementDatePicker></mat-datepicker>
|
<mat-datepicker #actualDisbursementDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="disbursementLoanForm.controls.actualDisbursementDate.hasError('required')">
|
<mat-error *ngIf="disbursementLoanForm.controls.actualDisbursementDate.hasError('required')">
|
||||||
@@ -81,11 +84,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!disbursementLoanForm.valid" *mifosxHasPermission="'DISBURSE_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!disbursementLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'DISBURSE_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
.expandCollapsebutton {
|
.expandCollapsebutton {
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="foreclosureForm" (ngSubmit)="submit()">
|
<form [formGroup]="foreclosureForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Transaction Date</mat-label>
|
<mat-label>Transaction Date</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionsDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionsDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="transactionsDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="transactionsDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #transactionsDatePicker></mat-datepicker>
|
<mat-datepicker #transactionsDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="foreclosureForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="foreclosureForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -50,11 +53,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!foreclosureForm.valid" *mifosxHasPermission="'FORECLOSURE_LOAN'">Foreclosure</button>
|
<button mat-raised-button color="primary" [disabled]="!foreclosureForm.valid"
|
||||||
|
*mifosxHasPermission="'FORECLOSURE_LOAN'">Foreclosure</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
<div class="container">
|
<mifosx-loans-account-close [dataObject]="actionButtonData" *ngIf="actions['Close']"></mifosx-loans-account-close>
|
||||||
<mat-card>
|
<mifosx-undo-approval *ngIf="actions['Undo Approval']"></mifosx-undo-approval>
|
||||||
<mifosx-loans-account-close [dataObject]="actionButtonData" *ngIf="actions.close"></mifosx-loans-account-close>
|
<mifosx-assign-loan-officer *ngIf="actions['Assign Loan Officer']" [dataObject]="actionButtonData" ></mifosx-assign-loan-officer>
|
||||||
<mifosx-undo-approval *ngIf="actions.undo_approval"></mifosx-undo-approval>
|
<mifosx-foreclosure *ngIf="actions['Foreclosure']"></mifosx-foreclosure>
|
||||||
<mifosx-assign-loan-officer *ngIf="actions.assign_loan_officer" [dataObject]="actionButtonData" ></mifosx-assign-loan-officer>
|
<mifosx-prepay-loan [dataObject]="actionButtonData" *ngIf="actions['Prepay Loan']"></mifosx-prepay-loan>
|
||||||
<mifosx-foreclosure *ngIf="actions.foreclosure"></mifosx-foreclosure>
|
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions['Make Repayment']"></mifosx-make-repayment>
|
||||||
<mifosx-prepay-loan [dataObject]="actionButtonData" *ngIf="actions.prepay_loan"></mifosx-prepay-loan>
|
<mifosx-waive-interest [dataObject]="actionButtonData" *ngIf="actions['Waive Interest']"></mifosx-waive-interest>
|
||||||
<mifosx-make-repayment [dataObject]="actionButtonData" *ngIf="actions.make_repayment"></mifosx-make-repayment>
|
<mifosx-write-off-page [dataObject]="actionButtonData" *ngIf="actions['Write Off']"></mifosx-write-off-page>
|
||||||
<mifosx-waive-interest [dataObject]="actionButtonData" *ngIf="actions.waive_interest"></mifosx-waive-interest>
|
<mifosx-close-as-rescheduled [dataObject]="actionButtonData" *ngIf="actions['Close (as Rescheduled)']"></mifosx-close-as-rescheduled>
|
||||||
<mifosx-write-off-page [dataObject]="actionButtonData" *ngIf="actions.write_off"></mifosx-write-off-page>
|
<mifosx-loan-reschedule [dataObject]="actionButtonData" *ngIf="actions['Reschedule']"></mifosx-loan-reschedule>
|
||||||
<mifosx-close-as-rescheduled [dataObject]="actionButtonData" *ngIf="actions.close_as_rescheduled"></mifosx-close-as-rescheduled>
|
<mifosx-recovery-repayment [dataObject]="actionButtonData" *ngIf="actions['Recovery Payment']"></mifosx-recovery-repayment>
|
||||||
<mifosx-loan-reschedule [dataObject]="actionButtonData" *ngIf="actions.reschedule"></mifosx-loan-reschedule>
|
<mifosx-view-guarantors [dataObject]="actionButtonData" *ngIf="actions['View Guarantors']"></mifosx-view-guarantors>
|
||||||
<mifosx-recovery-repayment [dataObject]="actionButtonData" *ngIf="actions.recovery_payment"></mifosx-recovery-repayment>
|
<mifosx-create-guarantor [dataObject]="actionButtonData" *ngIf="actions['Create Guarantor']"></mifosx-create-guarantor>
|
||||||
<mifosx-view-guarantors [dataObject]="actionButtonData" *ngIf="actions.view_guarantors"></mifosx-view-guarantors>
|
<mifosx-disburse-loan-account [dataObject]="actionButtonData" *ngIf="actions['Disburse To Savings']"></mifosx-disburse-loan-account>
|
||||||
<mifosx-create-guarantor [dataObject]="actionButtonData" *ngIf="actions.create_guarantor"></mifosx-create-guarantor>
|
<mifosx-reject-loan *ngIf="actions['Reject']"></mifosx-reject-loan>
|
||||||
<mifosx-disburse-loan-account [dataObject]="actionButtonData" *ngIf="actions.disburse_to_savings"></mifosx-disburse-loan-account>
|
<mifosx-disburse [dataObject]="actionButtonData" *ngIf="actions['Disburse']"></mifosx-disburse>
|
||||||
<mifosx-reject-loan *ngIf="actions.reject"></mifosx-reject-loan>
|
<mifosx-withdrawn-by-client *ngIf="actions['Withdrawn by Client']"></mifosx-withdrawn-by-client>
|
||||||
<mifosx-disburse [dataObject]="actionButtonData" *ngIf="actions.disburse"></mifosx-disburse>
|
<mifosx-add-collateral [dataObject]="actionButtonData" *ngIf="actions['Add Collateral']"></mifosx-add-collateral>
|
||||||
<mifosx-withdrawn-by-client *ngIf="actions.withdrawn_by_client"></mifosx-withdrawn-by-client>
|
<mifosx-undo-disbursal *ngIf="actions['Undo Disbursal']"></mifosx-undo-disbursal>
|
||||||
<mifosx-add-collateral [dataObject]="actionButtonData" *ngIf="actions.add_collateral"></mifosx-add-collateral>
|
<mifosx-loan-screen-reports [dataObject]="actionButtonData" *ngIf="actions['Loan Screen Reports']"></mifosx-loan-screen-reports>
|
||||||
<mifosx-undo-disbursal *ngIf="actions.undo_disbursal"></mifosx-undo-disbursal>
|
<mifosx-approve-loan *ngIf="actions['Approve']" ></mifosx-approve-loan>
|
||||||
<mifosx-loan-screen-reports [dataObject]="actionButtonData" *ngIf="actions.loan_screen_reports"></mifosx-loan-screen-reports>
|
<mifosx-add-loan-charge *ngIf="actions['Add Loan Charge']"></mifosx-add-loan-charge>
|
||||||
<mifosx-approve-loan *ngIf="actions.approve" ></mifosx-approve-loan>
|
|
||||||
<mifosx-add-loan-charge *ngIf="actions.add_loan_charge"></mifosx-add-loan-charge>
|
|
||||||
</mat-card>
|
|
||||||
</div>
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
.container {
|
|
||||||
padding: 3%;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -13,50 +13,50 @@ import { ActivatedRoute, Router } from '@angular/router';
|
|||||||
export class LoanAccountActionsComponent {
|
export class LoanAccountActionsComponent {
|
||||||
|
|
||||||
/** flag object to store possible actions and render appropriate UI to the user */
|
/** flag object to store possible actions and render appropriate UI to the user */
|
||||||
actions: { close: boolean,
|
actions: { 'Close': boolean,
|
||||||
undo_approval: boolean,
|
'Undo Approval': boolean,
|
||||||
write_off: boolean,
|
'Write Off': boolean,
|
||||||
add_collateral: boolean,
|
'Add Collateral': boolean,
|
||||||
assign_loan_officer: boolean,
|
'Assign Loan Officer': boolean,
|
||||||
foreclosure: boolean,
|
'Foreclosure': boolean,
|
||||||
prepay_loan: boolean,
|
'Prepay Loan': boolean,
|
||||||
reject: boolean,
|
'Reject': boolean,
|
||||||
disburse_to_savings: boolean,
|
'Disburse To Savings': boolean,
|
||||||
make_repayment: boolean,
|
'Make Repayment': boolean,
|
||||||
waive_interest: boolean,
|
'Waive Interest': boolean,
|
||||||
close_as_rescheduled: boolean,
|
'Close (as Rescheduled)': boolean,
|
||||||
reschedule: boolean,
|
'Reschedule': boolean,
|
||||||
recovery_payment: boolean,
|
'Recovery Payment': boolean,
|
||||||
view_guarantors: boolean,
|
'View Guarantors': boolean,
|
||||||
create_guarantor: boolean,
|
'Create Guarantor': boolean,
|
||||||
disburse: boolean,
|
'Disburse': boolean,
|
||||||
withdrawn_by_client: boolean,
|
'Withdrawn by Client': boolean,
|
||||||
undo_disbursal: boolean,
|
'Undo Disbursal': boolean,
|
||||||
loan_screen_reports: boolean,
|
'Loan Screen Reports': boolean,
|
||||||
approve: boolean,
|
'Approve': boolean,
|
||||||
add_loan_charge: boolean } = {
|
'Add Loan Charge': boolean } = {
|
||||||
close: false,
|
'Close': false,
|
||||||
undo_approval: false,
|
'Undo Approval': false,
|
||||||
write_off: false,
|
'Write Off': false,
|
||||||
add_collateral: false,
|
'Add Collateral': false,
|
||||||
assign_loan_officer: false,
|
'Assign Loan Officer': false,
|
||||||
foreclosure: false,
|
'Foreclosure': false,
|
||||||
prepay_loan: false,
|
'Prepay Loan': false,
|
||||||
reject: false,
|
'Reject': false,
|
||||||
disburse_to_savings: false,
|
'Disburse To Savings': false,
|
||||||
make_repayment: false,
|
'Make Repayment': false,
|
||||||
waive_interest: false,
|
'Waive Interest': false,
|
||||||
close_as_rescheduled: false,
|
'Close (as Rescheduled)': false,
|
||||||
reschedule: false,
|
'Reschedule': false,
|
||||||
recovery_payment: false,
|
'Recovery Payment': false,
|
||||||
view_guarantors: false,
|
'View Guarantors': false,
|
||||||
create_guarantor: false,
|
'Create Guarantor': false,
|
||||||
disburse: false,
|
'Disburse': false,
|
||||||
withdrawn_by_client: false,
|
'Withdrawn by Client': false,
|
||||||
undo_disbursal: false,
|
'Undo Disbursal': false,
|
||||||
loan_screen_reports: false,
|
'Loan Screen Reports': false,
|
||||||
approve: false,
|
'Approve': false,
|
||||||
add_loan_charge: false };
|
'Add Loan Charge': false };
|
||||||
|
|
||||||
actionButtonData: any;
|
actionButtonData: any;
|
||||||
actionName: any;
|
actionName: any;
|
||||||
@@ -73,13 +73,13 @@ export class LoanAccountActionsComponent {
|
|||||||
|
|
||||||
this.route.params.subscribe(params => {
|
this.route.params.subscribe(params => {
|
||||||
this.actionName = params['action'];
|
this.actionName = params['action'];
|
||||||
if (this.actionName === 'change-loan-officer') {
|
if (this.actionName === 'Change Loan Officer') {
|
||||||
this.actionName = 'assign-loan-officer';
|
this.actionName = 'Assign Loan Officer';
|
||||||
}
|
}
|
||||||
for (const key of Object.keys(this.actions)) {
|
for (const key of Object.keys(this.actions)) {
|
||||||
this.actions[key] = false;
|
this.actions[key] = false;
|
||||||
}
|
}
|
||||||
this.actions[this.actionName.replace(/-/g, '_')] = true;
|
this.actions[this.actionName] = true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-4
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="rescheduleLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="rescheduleLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Reschedule from Installment On</mat-label>
|
<mat-label>Reschedule from Installment On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rescheduleDatePicker" required formControlName="rescheduleFromDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rescheduleDatePicker" required
|
||||||
|
formControlName="rescheduleFromDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="rescheduleDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="rescheduleDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #rescheduleDatePicker></mat-datepicker>
|
<mat-datepicker #rescheduleDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleFromDate.hasError('required')">
|
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleFromDate.hasError('required')">
|
||||||
@@ -30,7 +33,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Submitted On</mat-label>
|
<mat-label>Submitted On</mat-label>
|
||||||
<input matInput [min]="minDate" [matDatepicker]="submittedDatePicker" required formControlName="submittedOnDate">
|
<input matInput [min]="minDate" [matDatepicker]="submittedDatePicker" required
|
||||||
|
formControlName="submittedOnDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="submittedDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="submittedDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #submittedDatePicker></mat-datepicker>
|
<mat-datepicker #submittedDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="rescheduleLoanForm.controls.submittedOnDate.hasError('required')">
|
<mat-error *ngIf="rescheduleLoanForm.controls.submittedOnDate.hasError('required')">
|
||||||
@@ -48,7 +52,8 @@
|
|||||||
<ng-container *ngIf="changeRepaymentDate.value">
|
<ng-container *ngIf="changeRepaymentDate.value">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Installment Rescheduled to</mat-label>
|
<mat-label>Installment Rescheduled to</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="installmentrescheduledDatePicker" formControlName="adjustedDueDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="installmentrescheduledDatePicker"
|
||||||
|
formControlName="adjustedDueDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="installmentrescheduledDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="installmentrescheduledDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #installmentrescheduledDatePicker></mat-datepicker>
|
<mat-datepicker #installmentrescheduledDatePicker></mat-datepicker>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@@ -89,11 +94,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!rescheduleLoanForm.valid" *mifosxHasPermission="'APPROVE_RESCHEDULELOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!rescheduleLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'APPROVE_RESCHEDULELOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@ export class LoanRescheduleComponent implements OnInit {
|
|||||||
|
|
||||||
// TODO: needs to be updated
|
// TODO: needs to be updated
|
||||||
// mentioned in Community App:
|
// mentioned in Community App:
|
||||||
// location.path('/loans/' + scope.loanId + '/viewreschedulerequest/'+ data.resourceId);
|
// location.path('/loans-accounts/' + scope.loanId + '/viewreschedulerequest/'+ data.resourceId);
|
||||||
this.router.navigate(['../../general'], { relativeTo: this.route });
|
this.router.navigate(['../../general'], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@
|
|||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!loanScreenReportForm.valid">
|
<button mat-raised-button color="primary" [disabled]="!loanScreenReportForm.valid">
|
||||||
<fa-icon icon="cogs" size="sm"></fa-icon> Generate Report
|
<fa-icon icon="cogs" size="sm"></fa-icon> Generate Report
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="closeLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Closed On</mat-label>
|
<mat-label>Closed On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #closedDatePicker></mat-datepicker>
|
<mat-datepicker #closedDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -25,11 +28,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid" *mifosxHasPermission="'CLOSE_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'CLOSE_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="repaymentLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="repaymentLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Transaction Date</mat-label>
|
<mat-label>Transaction Date</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="repaymentLoanForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="repaymentLoanForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -81,11 +84,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!repaymentLoanForm.valid" *mifosxHasPermission="'REPAYMENT_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!repaymentLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'REPAYMENT_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+4
@@ -1,3 +1,7 @@
|
|||||||
.expandCollapsebutton {
|
.expandCollapsebutton {
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="prepayLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="prepayLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Transaction Date</mat-label>
|
<mat-label>Transaction Date</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
<mat-datepicker #transactionDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="prepayLoanForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="prepayLoanForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -94,11 +97,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!prepayLoanForm.valid" *mifosxHasPermission="'REPAYMENT_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!prepayLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'REPAYMENT_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
.expandCollapsebutton {
|
.expandCollapsebutton {
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+4
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="recoveryRepaymentLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="recoveryRepaymentLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -90,4 +92,6 @@
|
|||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+4
@@ -1,3 +1,7 @@
|
|||||||
.expandCollapsebutton {
|
.expandCollapsebutton {
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="rejectLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="rejectLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Rejected On</mat-label>
|
<mat-label>Rejected On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectedDatePicker" required formControlName="rejectedOnDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectedDatePicker" required
|
||||||
|
formControlName="rejectedOnDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="rejectedDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="rejectedDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #rejectedDatePicker></mat-datepicker>
|
<mat-datepicker #rejectedDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="rejectLoanForm.controls.rejectedOnDate.hasError('required')">
|
<mat-error *ngIf="rejectLoanForm.controls.rejectedOnDate.hasError('required')">
|
||||||
@@ -25,11 +28,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!rejectLoanForm.valid" *mifosxHasPermission="'REJECT_LOAN'" >Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!rejectLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'REJECT_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+11
-6
@@ -1,17 +1,22 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
|
|
||||||
<mat-form-field fxLayoutAlign="center">
|
<mat-form-field fxFlex>
|
||||||
<mat-label>Note</mat-label>
|
<mat-label>Note</mat-label>
|
||||||
<textarea matInput [formControl]="note"></textarea>
|
<textarea matInput [formControl]="note"></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
|
||||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'APPROVALUNDO_LOAN'">Submit</button>
|
|
||||||
</mat-card-actions>
|
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
|
<button mat-raised-button color="primary" (click)="submit()"
|
||||||
|
*mifosxHasPermission="'APPROVALUNDO_LOAN'">Submit</button>
|
||||||
|
</mat-card-actions>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+11
-6
@@ -1,17 +1,22 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
|
|
||||||
<mat-form-field fxLayoutAlign="center">
|
<mat-form-field fxFlex>
|
||||||
<mat-label>Note</mat-label>
|
<mat-label>Note</mat-label>
|
||||||
<textarea matInput [formControl]="note"></textarea>
|
<textarea matInput [formControl]="note"></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
|
||||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'DISBURSALUNDO_LOAN'">Submit</button>
|
|
||||||
</mat-card-actions>
|
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
|
<button mat-raised-button color="primary" (click)="submit()"
|
||||||
|
*mifosxHasPermission="'DISBURSALUNDO_LOAN'">Submit</button>
|
||||||
|
</mat-card-actions>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+16
-4
@@ -1,3 +1,7 @@
|
|||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<div class="viewGuarantors-account-tables" fxLayout="row" fxLayoutGap="2%">
|
<div class="viewGuarantors-account-tables" fxLayout="row" fxLayoutGap="2%">
|
||||||
|
|
||||||
<div fxFlex="49%">
|
<div fxFlex="49%">
|
||||||
@@ -76,7 +80,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table fxFlexFill mat-table [dataSource]="guarantorDetails|accountsFilter:'guarantor':showDeletedGuarantorsAccounts">
|
<table fxFlexFill mat-table
|
||||||
|
[dataSource]="guarantorDetails|accountsFilter:'guarantor':showDeletedGuarantorsAccounts">
|
||||||
<!-- <ng-container *ngIf="expression"> -->
|
<!-- <ng-container *ngIf="expression"> -->
|
||||||
<ng-container matColumnDef="fullname">
|
<ng-container matColumnDef="fullname">
|
||||||
<th mat-header-cell *matHeaderCellDef> Name </th>
|
<th mat-header-cell *matHeaderCellDef> Name </th>
|
||||||
@@ -150,14 +155,17 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef> Action </th>
|
<th mat-header-cell *matHeaderCellDef> Action </th>
|
||||||
<td mat-cell *matCellDef="let guarantor; let id = index">
|
<td mat-cell *matCellDef="let guarantor; let id = index">
|
||||||
<span *ngIf="!guarantor.guarantorFundingDetails">
|
<span *ngIf="!guarantor.guarantorFundingDetails">
|
||||||
<button mat-raised-button class="account-action-button" color="primary" *mifosxHasPermission="'READ_SAVINGSACCOUNT'" (click)="viewGuarantorDetails(guarantor)">
|
<button mat-raised-button class="account-action-button" color="primary"
|
||||||
|
*mifosxHasPermission="'READ_SAVINGSACCOUNT'" (click)="viewGuarantorDetails(guarantor)">
|
||||||
<fa-icon icon="eye"></fa-icon>
|
<fa-icon icon="eye"></fa-icon>
|
||||||
</button>
|
</button>
|
||||||
<button mat-raised-button class="account-action-button" color="primary" *ngIf="guarantor.status && guarantor.guarantorType.id == 3 && guarantor.id">
|
<button mat-raised-button class="account-action-button" color="primary"
|
||||||
|
*ngIf="guarantor.status && guarantor.guarantorType.id == 3 && guarantor.id">
|
||||||
<fa-icon icon="edit"></fa-icon>
|
<fa-icon icon="edit"></fa-icon>
|
||||||
</button>
|
</button>
|
||||||
<span *ngIf="guarantor.status">
|
<span *ngIf="guarantor.status">
|
||||||
<button mat-raised-button class="account-action-button" color="warn" *mifosxHasPermission='"DELETE_GUARANTOR"' (click)="deleteGuarantor(guarantor.id)">
|
<button mat-raised-button class="account-action-button" color="warn"
|
||||||
|
*mifosxHasPermission='"DELETE_GUARANTOR"' (click)="deleteGuarantor(guarantor.id)">
|
||||||
<fa-icon icon="trash"></fa-icon>
|
<fa-icon icon="trash"></fa-icon>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
@@ -172,3 +180,7 @@
|
|||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
+4
@@ -29,3 +29,7 @@ table {
|
|||||||
.headingName {
|
.headingName {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 73rem;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -76,7 +76,7 @@ export class ViewGuarantorsComponent implements OnInit {
|
|||||||
private reload() {
|
private reload() {
|
||||||
const clientId = this.dataObject.clientId;
|
const clientId = this.dataObject.clientId;
|
||||||
const url: string = this.router.url;
|
const url: string = this.router.url;
|
||||||
this.router.navigateByUrl(`/clients/${clientId}/loans`, { skipLocationChange: true })
|
this.router.navigateByUrl(`/clients/${clientId}/loans-accounts`, { skipLocationChange: true })
|
||||||
.then(() => this.router.navigate([url]));
|
.then(() => this.router.navigate([url]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="loanInterestForm" (ngSubmit)="submit()">
|
<form [formGroup]="loanInterestForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Interest waived on</mat-label>
|
<mat-label>Interest waived on</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="interestDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="interestDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #interestDatePicker></mat-datepicker>
|
<mat-datepicker #interestDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="loanInterestForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="loanInterestForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -33,11 +36,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!loanInterestForm.valid" *mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!loanInterestForm.valid"
|
||||||
|
*mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<form [formGroup]="withdrawnByClientLoanForm" (ngSubmit)="submit()">
|
<form [formGroup]="withdrawnByClientLoanForm" (ngSubmit)="submit()">
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Withdrawn On</mat-label>
|
<mat-label>Withdrawn On</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="withdrawnOnDatePicker" required formControlName="withdrawnOnDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="withdrawnOnDatePicker" required
|
||||||
|
formControlName="withdrawnOnDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="withdrawnOnDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="withdrawnOnDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #withdrawnOnDatePicker></mat-datepicker>
|
<mat-datepicker #withdrawnOnDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="withdrawnByClientLoanForm.controls.withdrawnOnDate.hasError('required')">
|
<mat-error *ngIf="withdrawnByClientLoanForm.controls.withdrawnOnDate.hasError('required')">
|
||||||
@@ -25,11 +28,14 @@
|
|||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../../general']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!withdrawnByClientLoanForm.valid" *mifosxHasPermission="'WITHDRAW_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" [disabled]="!withdrawnByClientLoanForm.valid"
|
||||||
|
*mifosxHasPermission="'WITHDRAW_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
+9
-3
@@ -1,5 +1,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
<mat-card>
|
||||||
|
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
|
|
||||||
<form [formGroup]="writeOffForm" (ngSubmit)="submit()">
|
<form [formGroup]="writeOffForm" (ngSubmit)="submit()">
|
||||||
@@ -8,7 +10,8 @@
|
|||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Write off on</mat-label>
|
<mat-label>Write off on</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="writeOffDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="writeOffDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="writeOffDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="writeOffDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #writeOffDatePicker></mat-datepicker>
|
<mat-datepicker #writeOffDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="writeOffForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="writeOffForm.controls.transactionDate.hasError('required')">
|
||||||
@@ -31,10 +34,13 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
|
<button type="button" mat-raised-button [routerLink]="['../../general']">Cancel</button>
|
||||||
<button mat-raised-button color="primary" (click)="submit()" *mifosxHasPermission="'WRITEOFF_LOAN'">Submit</button>
|
<button mat-raised-button color="primary" (click)="submit()"
|
||||||
|
*mifosxHasPermission="'WRITEOFF_LOAN'">Submit</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
.container {
|
||||||
|
max-width: 37rem;
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ export class LoanCollateralTabComponent implements OnInit {
|
|||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute) {
|
constructor(private route: ActivatedRoute) {
|
||||||
this.route.data.subscribe((data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.loanDetails = data.loanDetailsAssociationData;
|
this.loanDetails = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,10 @@ export class LoanDocumentsTabComponent implements OnInit {
|
|||||||
constructor(private route: ActivatedRoute,
|
constructor(private route: ActivatedRoute,
|
||||||
private loansService: LoansService,
|
private loansService: LoansService,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog) {
|
||||||
this.route.data.subscribe((data: { loanDocuments: any, loanDetailsData: any }) => {
|
this.route.data.subscribe((data: { loanDocuments: any }) => {
|
||||||
this.getLoanDocumentsData(data.loanDocuments);
|
this.getLoanDocumentsData(data.loanDocuments);
|
||||||
|
});
|
||||||
|
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.loanDetailsData = data.loanDetailsData;
|
this.loanDetailsData = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ export class LoanTrancheDetailsComponent implements OnInit {
|
|||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute) {
|
constructor(private route: ActivatedRoute) {
|
||||||
this.route.data.subscribe((data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.loanDetails = data.loanDetailsAssociationData;
|
this.loanDetails = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,9 +132,6 @@ export class LoansViewComponent implements OnInit {
|
|||||||
this.router.navigate(['transfer-funds/make-account-transfer'], { relativeTo: this.route, queryParams: queryParams });
|
this.router.navigate(['transfer-funds/make-account-transfer'], { relativeTo: this.route, queryParams: queryParams });
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
button = button.replace(/\s/g, '-').toLowerCase();
|
|
||||||
button = button.replace(/\(/g, '');
|
|
||||||
button = button.replace(/\)/g, '');
|
|
||||||
this.router.navigate(['actions', button], { relativeTo: this.route });
|
this.router.navigate(['actions', button], { relativeTo: this.route });
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -179,7 +176,7 @@ export class LoansViewComponent implements OnInit {
|
|||||||
private reload() {
|
private reload() {
|
||||||
const clientId = this.clientId;
|
const clientId = this.clientId;
|
||||||
const url: string = this.router.url;
|
const url: string = this.router.url;
|
||||||
this.router.navigateByUrl(`/clients/${clientId}/loans`, { skipLocationChange: true })
|
this.router.navigateByUrl(`/clients/${clientId}/loans-accounts`, { skipLocationChange: true })
|
||||||
.then(() => this.router.navigate([url]));
|
.then(() => this.router.navigate([url]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ export class OriginalScheduleTabComponent implements OnInit {
|
|||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute) {
|
constructor(private route: ActivatedRoute) {
|
||||||
this.route.data.subscribe(( data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.originalScheduleDetails = data.loanDetailsAssociationData.originalSchedule;
|
this.originalScheduleDetails = data.loanDetailsData.originalSchedule;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ export class RepaymentScheduleTabComponent implements OnInit {
|
|||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute) {
|
constructor(private route: ActivatedRoute) {
|
||||||
this.route.data.subscribe(( data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.repaymentScheduleDetails = data.loanDetailsAssociationData.repaymentSchedule;
|
this.repaymentScheduleDetails = data.loanDetailsData.repaymentSchedule;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||||
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.manuallyReversed}">
|
<td mat-cell *matCellDef="let transaction" [ngClass]="{'strike': transaction.manuallyReversed}">
|
||||||
<button class="account-action-button" *ngIf="!transaction.manuallyReversedession" mat-raised-button color="primary" (click)="routeEdit($event)"
|
<button class="account-action-button" *ngIf="!transaction.manuallyReversed" mat-raised-button color="primary" (click)="routeEdit($event)"
|
||||||
[routerLink]="[transaction.id, 'reciept']" matTooltip="View Receipts">
|
[routerLink]="[transaction.id, 'reciept']" matTooltip="View Receipts">
|
||||||
<i class="fa fa-file-text"></i>
|
<i class="fa fa-file-text"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ export class TransactionsTabComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
constructor(private route: ActivatedRoute,
|
constructor(private route: ActivatedRoute,
|
||||||
private router: Router) {
|
private router: Router) {
|
||||||
this.route.parent.data.subscribe(( data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.transactions = data.loanDetailsAssociationData.transactions;
|
this.transactions = data.loanDetailsData.transactions;
|
||||||
this.tempTransaction = data.loanDetailsAssociationData.transactions;
|
this.tempTransaction = data.loanDetailsData.transactions;
|
||||||
this.status = data.loanDetailsAssociationData.status.value;
|
this.status = data.loanDetailsData.status.value;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -44,8 +44,8 @@ export class ExportTransactionsComponent implements OnInit {
|
|||||||
private formBuilder: FormBuilder,
|
private formBuilder: FormBuilder,
|
||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
private route: ActivatedRoute) {
|
private route: ActivatedRoute) {
|
||||||
this.route.parent.data.subscribe((data: { loanDetailsAssociationData: any }) => {
|
this.route.parent.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
||||||
this.loansAccountId = data.loanDetailsAssociationData.accountNo;
|
this.loansAccountId = data.loanDetailsData.accountNo;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<mat-card class="container">
|
<mat-card class="container">
|
||||||
|
|
||||||
<div class="back-button">
|
<div class="back-button">
|
||||||
<button type="button" color="primary" mat-raised-button [routerLink]="['../../']">
|
<button type="button" color="primary" mat-raised-button [routerLink]="['../../../general']">
|
||||||
<fa-icon icon="arrow-left"></fa-icon> Back</button>
|
<fa-icon icon="arrow-left"></fa-icon> Back</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
.container {
|
.container {
|
||||||
max-width: 37rem;
|
max-width: 37rem;
|
||||||
padding-bottom: 2%;
|
|
||||||
.content {
|
.content {
|
||||||
div {
|
div {
|
||||||
margin: 1rem 0;
|
margin: 1rem 0;
|
||||||
|
|||||||
@@ -45,10 +45,8 @@ export class ViewChargeComponent {
|
|||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog) {
|
||||||
this.route.data.subscribe((data: { loansAccountCharge: any }) => {
|
this.route.data.subscribe((data: { loansAccountCharge: any, loanDetailsData: any }) => {
|
||||||
this.chargeData = data.loansAccountCharge;
|
this.chargeData = data.loansAccountCharge;
|
||||||
});
|
|
||||||
this.route.parent.parent.data.subscribe((data: { loanDetailsData: any }) => {
|
|
||||||
this.loansAccountData = data.loanDetailsData;
|
this.loansAccountData = data.loanDetailsData;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ import { EditTransactionComponent } from './loans-view/transactions/edit-transac
|
|||||||
/** Dialog Components */
|
/** Dialog Components */
|
||||||
import { LoansAccountViewGuarantorDetailsDialogComponent } from './custom-dialog/loans-account-view-guarantor-details-dialog/loans-account-view-guarantor-details-dialog.component';
|
import { LoansAccountViewGuarantorDetailsDialogComponent } from './custom-dialog/loans-account-view-guarantor-details-dialog/loans-account-view-guarantor-details-dialog.component';
|
||||||
import { LoansAccountAddCollateralDialogComponent } from './custom-dialog/loans-account-add-collateral-dialog/loans-account-add-collateral-dialog.component';
|
import { LoansAccountAddCollateralDialogComponent } from './custom-dialog/loans-account-add-collateral-dialog/loans-account-add-collateral-dialog.component';
|
||||||
import { LoansConfirmationDialogBoxComponent } from './custom-dialog/loans-confirmation-dialog-box/loans-confirmation-dialog-box.component';
|
|
||||||
import { LoanAccountLoadDocumentsDialogComponent } from './custom-dialog/loan-account-load-documents-dialog/loan-account-load-documents-dialog.component';
|
import { LoanAccountLoadDocumentsDialogComponent } from './custom-dialog/loan-account-load-documents-dialog/loan-account-load-documents-dialog.component';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,7 +111,6 @@ import { LoanAccountLoadDocumentsDialogComponent } from './custom-dialog/loan-ac
|
|||||||
ViewGuarantorsComponent,
|
ViewGuarantorsComponent,
|
||||||
CreateGuarantorComponent,
|
CreateGuarantorComponent,
|
||||||
LoansAccountViewGuarantorDetailsDialogComponent,
|
LoansAccountViewGuarantorDetailsDialogComponent,
|
||||||
LoansConfirmationDialogBoxComponent,
|
|
||||||
DisburseLoanAccountComponent,
|
DisburseLoanAccountComponent,
|
||||||
RejectLoanComponent,
|
RejectLoanComponent,
|
||||||
DisburseComponent,
|
DisburseComponent,
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export class NotificationsPageComponent implements OnInit {
|
|||||||
routeMap: any = {
|
routeMap: any = {
|
||||||
'client' : '/clients/',
|
'client' : '/clients/',
|
||||||
'group' : '/groups/',
|
'group' : '/groups/',
|
||||||
'loan' : '/loans/',
|
'loan': '/loans-accounts/',
|
||||||
'center' : '/centers/',
|
'center' : '/centers/',
|
||||||
'shareAccount' : '/shares-accounts/',
|
'shareAccount' : '/shares-accounts/',
|
||||||
'fixedDeposit' : '/fixed-deposits-accounts/',
|
'fixedDeposit' : '/fixed-deposits-accounts/',
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ export class SearchPageComponent {
|
|||||||
this.router.navigate(['clients', entity.parentId, 'savings-accounts', entity.entityId]);
|
this.router.navigate(['clients', entity.parentId, 'savings-accounts', entity.entityId]);
|
||||||
break;
|
break;
|
||||||
case 'LOAN':
|
case 'LOAN':
|
||||||
this.router.navigate(['clients', entity.parentId, 'loans', entity.entityId]);
|
this.router.navigate(['clients', entity.parentId, 'loans-accounts', entity.entityId]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export class NotificationsTrayComponent implements OnInit, OnDestroy {
|
|||||||
routeMap: any = {
|
routeMap: any = {
|
||||||
'client' : '/clients/',
|
'client' : '/clients/',
|
||||||
'group' : '/groups/',
|
'group' : '/groups/',
|
||||||
'loan' : '/loans/',
|
'loan': '/loans-accounts/',
|
||||||
'center' : '/centers/',
|
'center' : '/centers/',
|
||||||
'shareAccount' : '/shares-accounts/',
|
'shareAccount' : '/shares-accounts/',
|
||||||
'fixedDeposit' : '/fixed-deposits-accounts/',
|
'fixedDeposit' : '/fixed-deposits-accounts/',
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<ng-container matColumnDef="loan">
|
<ng-container matColumnDef="loan">
|
||||||
<th mat-header-cell *matHeaderCellDef> Loan </th>
|
<th mat-header-cell *matHeaderCellDef> Loan </th>
|
||||||
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans', 'loan.id']">
|
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans-accounts', 'loan.id']">
|
||||||
{{ loan.loanProductName}}({{loan.accountNo}}) </td>
|
{{ loan.loanProductName}}({{loan.accountNo}}) </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -35,12 +35,12 @@
|
|||||||
|
|
||||||
<ng-container matColumnDef="loanAccountNumber">
|
<ng-container matColumnDef="loanAccountNumber">
|
||||||
<th mat-header-cell *matHeaderCellDef> Loan Account# </th>
|
<th mat-header-cell *matHeaderCellDef> Loan Account# </th>
|
||||||
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans', loan.id, 'general']"> {{loan.accountNo}} </td>
|
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans-accounts', loan.id, 'general']"> {{loan.accountNo}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="loanProduct">
|
<ng-container matColumnDef="loanProduct">
|
||||||
<th mat-header-cell *matHeaderCellDef> Loan Product </th>
|
<th mat-header-cell *matHeaderCellDef> Loan Product </th>
|
||||||
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans', loan.id, 'general']"> {{loan.loanProductName}} </td>
|
<td mat-cell *matCellDef="let loan" class="view-details" [routerLink]="['../../clients', loan.clientId, 'loans-accounts', loan.id, 'general']"> {{loan.loanProductName}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="principal">
|
<ng-container matColumnDef="principal">
|
||||||
|
|||||||
Reference in New Issue
Block a user