Fixed Deposit account view update (#1881)

Co-authored-by: Jose Alberto Hernandez <alberto@blue-daemon.local>
This commit is contained in:
José Alberto Hernández
2023-10-19 00:07:22 -06:00
committed by GitHub
co-authored by Jose Alberto Hernandez
parent d92f6c1c5e
commit c7fe21e74a
217 changed files with 23945 additions and 1869 deletions
@@ -9,26 +9,26 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Collateral Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Collateral Type" | translate }}</mat-label>
<mat-select required formControlName="collateralTypeId">
<mat-option *ngFor="let collateral of dataObject.allowedCollateralTypes" [value]="collateral.id">
{{ collateral.name }}</mat-option>
</mat-select>
<mat-error *ngIf="collateralForm.controls.collateralTypeId.hasError('required')">
{{"labels.inputs.Collateral type" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Collateral type" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Value" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Value" | translate }}</mat-label>
<input matInput required formControlName="value">
<mat-error *ngIf="collateralForm.controls.value.hasError('required')">
{{"labels.inputs.Value" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Value" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate }}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -36,9 +36,9 @@
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../loan-collateral']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../loan-collateral']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!collateralForm.valid"
*mifosxHasPermission="'CREATE_COLLATERAL'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CREATE_COLLATERAL'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -8,52 +8,52 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Charge" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge" | translate }}</mat-label>
<mat-select required formControlName="chargeId">
<mat-option *ngFor="let loanCharge of loanChargeOptions" [value]="loanCharge.id">
{{ loanCharge.name + ' (' + loanCharge?.currency.name + ')' }}
</mat-option>
</mat-select>
<mat-error *ngIf="loanChargeForm.controls.chargeId.hasError('required')">
{{"labels.inputs.Charge" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Charge" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate }}</mat-label>
<input type="number" required matInput formControlName="amount" />
<mat-error *ngIf="loanChargeForm.controls.amount.hasError('required')">
{{"labels.inputs.Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Charge Calculation" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge Calculation" | translate }}</mat-label>
<input matInput formControlName="chargeCalculation" />
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Charge Time" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge Time" | translate }}</mat-label>
<input matInput formControlName="chargeTime" />
</mat-form-field>
<mat-form-field *ngIf="loanChargeForm.controls['dueDate']" (click)="dueDatePicker.open()">
<mat-label>{{"labels.inputs.Due On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Due On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dueDatePicker" required
formControlName="dueDate">
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="loanChargeForm.controls.dueDate.hasError('required')">
{{"labels.inputs.Due Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Due Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!loanChargeForm.valid"
*mifosxHasPermission="'CREATE_LOANCHARGE'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CREATE_LOANCHARGE'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,22 +9,22 @@
<div fxLayout="column">
<mat-form-field appearance="fill">
<mat-label>{{"labels.inputs.Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate }}</mat-label>
<span matTextSuffix class="m-l-10">{{ loanDetailsData.currency.code }}</span>
<span fxFlex="auto"></span>
<input type="number" matInput required class="right-input" formControlName="amount">
<mat-error *ngIf="adjustLoanChargeForm.controls.amount.hasError('required')">
{{"labels.inputs.Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Payment Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
{{ paymentType.name }}
@@ -36,7 +36,7 @@
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
<mat-slide-toggle>
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
<span class="m-l-10">{{"labels.inputs.Show Payment Details" |translate}}</span>
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate }}</span>
</div>
</mat-slide-toggle>
</span>
@@ -44,42 +44,42 @@
<ng-container *ngIf="showPaymentDetails">
<mat-form-field>
<mat-label> {{"labels.inputs.Account" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Account" | translate }} #</mat-label>
<input matInput formControlName="accountNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Cheque" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Cheque" | translate }} #</mat-label>
<input matInput formControlName="checkNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Routing Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Routing Code" | translate }}</mat-label>
<input matInput formControlName="routingCode">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reciept" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Reciept" | translate }} #</mat-label>
<input matInput formControlName="receiptNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Bank" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Bank" | translate }} #</mat-label>
<input matInput formControlName="bankNumber">
</mat-form-field>
</ng-container>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../..']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../..']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!adjustLoanChargeForm.valid"
*mifosxHasPermission="'ADJUSTMENT_LOANCHARGE'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'ADJUSTMENT_LOANCHARGE'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,18 +9,18 @@
<div fxLayout="column">
<mat-form-field (click)="approvedDatePicker.open()">
<mat-label>{{"labels.inputs.Approved On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Approved On" | translate }}</mat-label>
<input matInput [min]="minDate" [matDatepicker]="approvedDatePicker" required
formControlName="approvedOnDate">
<mat-datepicker-toggle matSuffix [for]="approvedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #approvedDatePicker></mat-datepicker>
<mat-error *ngIf="approveLoanForm.controls.approvedOnDate.hasError('required')">
{{"labels.inputs.Approved Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Approved Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="disbursementDatePicker.open()">
<mat-label>{{"labels.inputs.Expected disbursement on" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Expected disbursement on" | translate }}</mat-label>
<input matInput [min]="minDate" [matDatepicker]="disbursementDatePicker"
formControlName="expectedDisbursementDate">
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
@@ -28,29 +28,29 @@
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Approved Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Approved Amount" | translate }}</mat-label>
<input matInput type="number" formControlName="approvedLoanAmount">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput type="number" required formControlName="approvedLoanAmount">
<mat-error *ngIf="approveLoanForm.controls.approvedLoanAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!approveLoanForm.valid"
*mifosxHasPermission="'APPROVE_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'APPROVE_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,43 +9,43 @@
<div fxLayout="column">
<mat-form-field (click)="settlementDatePicker.open()">
<mat-label>{{"labels.inputs.Settlement Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Settlement Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="settlementDatePicker" required
formControlName="settlementDate">
<mat-datepicker-toggle matSuffix [for]="settlementDatePicker"></mat-datepicker-toggle>
<mat-datepicker #settlementDatePicker></mat-datepicker>
<mat-error *ngIf="saleLoanForm.controls.settlementDate.hasError('required')">
{{"labels.inputs.Settlement Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Settlement Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="!isBuyBack()">
<mat-label>{{"labels.inputs.Purchase Price Ratio" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Purchase Price Ratio" | translate }}</mat-label>
<input type="number" matInput required formControlName="purchasePriceRatio">
<mat-error *ngIf="saleLoanForm.controls.purchasePriceRatio.hasError('required')">
{{"labels.inputs.Purchase Price Ratio" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Purchase Price Ratio" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="!isBuyBack()">
<mat-label>{{"labels.inputs.Owner External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Owner External Id" | translate }}</mat-label>
<input matInput formControlName="ownerExternalId">
<mat-error *ngIf="saleLoanForm.controls.ownerExternalId.hasError('required')">
{{"labels.inputs.Owner External Id" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Owner External Id" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transfer External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transfer External Id" | translate }}</mat-label>
<input matInput formControlName="transferExternalId">
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!saleLoanForm.valid"
*mifosxHasPermission="'SALE_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'SALE_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,34 +9,34 @@
<div fxLayout="column">
<mat-form-field>
<mat-label> {{"labels.inputs.To Loan Officer" |translate}}</mat-label>
<mat-label> {{"labels.inputs.To Loan Officer" | translate }}</mat-label>
<mat-select required formControlName="toLoanOfficerId">
<mat-option *ngFor="let loanOfficer of loanOfficers" [value]="loanOfficer.id">
{{ loanOfficer.displayName }}
</mat-option>
</mat-select>
<mat-error *ngIf="assignOfficerForm.controls.toLoanOfficerId.hasError('required')">
{{"labels.inputs.Loan Officer" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Loan Officer" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="assignOnDatePicker.open()">
<mat-label>{{"labels.inputs.Assignment Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Assignment Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="assignOnDatePicker" required
formControlName="assignmentDate">
<mat-datepicker-toggle matSuffix [for]="assignOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #assignOnDatePicker></mat-datepicker>
<mat-error *ngIf="assignOfficerForm.controls.assignmentDate.hasError('required')">
{{"labels.inputs.Assignment Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Assignment Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!assignOfficerForm.valid"
*mifosxHasPermission="'BULKREASSIGN_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'BULKREASSIGN_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,44 +9,44 @@
<div fxLayout="column">
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="chargeoffLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reason for Charge-Off" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Reason for Charge-Off" | translate }}</mat-label>
<mat-select formControlName="chargeOffReasonId">
<mat-option *ngFor="let chargeOffReason of chargeOffReasonOptions" [value]="chargeOffReason.id">
{{ chargeOffReason.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="chargeoffLoanForm.controls.chargeOffReasonId.hasError('required')">
{{"labels.inputs.Reason for Charge-Off" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Reason for Charge-Off" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!chargeoffLoanForm.valid"
*mifosxHasPermission="'CHARGEOFF_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CHARGEOFF_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,27 +9,27 @@
<div fxLayout="column">
<mat-form-field (click)="closedDatePicker.open()">
<mat-label>{{"labels.inputs.Closed On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Closed On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #closedDatePicker></mat-datepicker>
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Closed Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Closed Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
*mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CLOSEASRESCHEDULED_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,16 +9,16 @@
<div fxLayout="column">
<mat-checkbox labelPosition="before" formControlName="existingClient">
{{"labels.inputs.Existing Client" |translate}}
{{"labels.inputs.Existing Client" | translate }}
</mat-checkbox>
<ng-container *ngIf="!showClientDetailsForm">
<mat-form-field fxFlex="30%">
<mat-label>{{"labels.inputs.name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate }}</mat-label>
<input matInput formControlName="name" [matAutocomplete]="clientsAutocomplete">
<mat-error *ngIf="newGuarantorForm.controls.name.hasError('required')">
{{"labels.inputs.name" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.name" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
@@ -30,7 +30,7 @@
</mat-autocomplete>
<mat-form-field>
<mat-label>{{"labels.inputs.Relationship" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Relationship" | translate }}</mat-label>
<mat-select formControlName="clientRelationshipTypeId">
<mat-option *ngFor="let relationType of relationTypes" [value]="relationType.id">
{{ relationType.name }}
@@ -41,7 +41,7 @@
<ng-container *ngIf="accountOptions.length > 0">
<mat-form-field>
<mat-label>{{"labels.inputs.Account" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account" | translate }}</mat-label>
<mat-select formControlName="savingsId">
<mat-option *ngFor="let accountOption of accountOptions" [value]="accountOption.id">
{{ accountOption.productName }} - {{ accountOption.accountNo }}
@@ -50,7 +50,7 @@
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate }}</mat-label>
<input type="number" matInput required formControlName="amount">
</mat-form-field>
@@ -61,7 +61,7 @@
<ng-container *ngIf="showClientDetailsForm">
<mat-form-field>
<mat-label>{{"labels.inputs.Relationship" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Relationship" | translate }}</mat-label>
<mat-select formControlName="clientRelationshipTypeId">
<mat-option *ngFor="let relationType of relationTypes" [value]="relationType.id">
{{ relationType.name }}
@@ -70,55 +70,55 @@
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.First Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.First Name" | translate }}</mat-label>
<input matInput required formControlName="firstname">
<mat-error *ngIf="newGuarantorForm.controls.firstname.hasError('required')">
{{"labels.inputs.First Name" |translate}} {{ "labels.commons.is" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.First Name" | translate }} {{ "labels.commons.is" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Last Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Last Name" | translate }}</mat-label>
<input matInput required formControlName="lastname">
<mat-error *ngIf="newGuarantorForm.controls.lastname.hasError('required')">
{{"labels.inputs.Last Name" |translate}} {{ "labels.commons.is" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Last Name" | translate }} {{ "labels.commons.is" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="dobDatePicker.open()">
<mat-label>{{"labels.inputs.Date Of Birth" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Date Of Birth" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dobDatePicker" formControlName="dob">
<mat-datepicker-toggle matSuffix [for]="dobDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dobDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Address Line" |translate}} 1</mat-label>
<mat-label>{{"labels.inputs.Address Line" | translate }} 1</mat-label>
<input matInput formControlName="addressLine1">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Address Line" |translate}} 2</mat-label>
<mat-label>{{"labels.inputs.Address Line" | translate }} 2</mat-label>
<input matInput formControlName="addressLine2">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.City" |translate}}</mat-label>
<mat-label>{{"labels.inputs.City" | translate }}</mat-label>
<input matInput formControlName="city">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Zip" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Zip" | translate }}</mat-label>
<input matInput formControlName="zip">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Mobile" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Mobile" | translate }}</mat-label>
<input type="number" matInput formControlName="mobileNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Residence Phone" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Residence Phone" | translate }} #</mat-label>
<input type="number" matInput formControlName="housePhoneNumber">
</mat-form-field>
@@ -127,9 +127,9 @@
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!newGuarantorForm.valid"
*mifosxHasPermission="'CREATE_GUARANTOR'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CREATE_GUARANTOR'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -139,18 +139,18 @@
<ng-container *ngIf="!(newGuarantorForm.controls.name === undefined)">
<div class="mat-table">
<div class="mat-header-row">
<div class="mat-header-cell">{{"labels.inputs.Client Details" |translate}}</div>
<div class="mat-header-cell">{{"labels.inputs.Client Details" | translate }}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{"labels.inputs.name" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.name" | translate }}</div>
<div class="mat-cell">{{newGuarantorForm.controls.name.value.displayName}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{"labels.inputs.Id" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Id" | translate }}</div>
<div class="mat-cell">{{newGuarantorForm.controls.name.value.id}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{"labels.inputs.Office" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Office" | translate }}</div>
<div class="mat-cell">{{newGuarantorForm.controls.name.value.officeName}}</div>
</div>
</div>
@@ -9,40 +9,40 @@
<div fxLayout="column">
<mat-form-field (click)="disbursementDatePicker.open()">
<mat-label>{{"labels.inputs.Disbursement On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Disbursement On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="disbursementDatePicker" required
formControlName="actualDisbursementDate">
<mat-datepicker-toggle matSuffix [for]="disbursementDatePicker"></mat-datepicker-toggle>
<mat-datepicker #disbursementDatePicker></mat-datepicker>
<mat-error *ngIf="disbursementForm.controls.actualDisbursementDate.hasError('required')">
{{"labels.inputs.Disbursement Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Disbursement Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput type="number" required formControlName="transactionAmount">
<mat-error *ngIf="disbursementForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="dataObject.fixedEmiAmount">
<mat-label>{{"labels.inputs.Fixed EMI amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Fixed EMI amount" | translate }}</mat-label>
<input matInput type="number" formControlName="fixedEmiAmount">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!disbursementForm.valid"
*mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'DISBURSETOSAVINGS_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,31 +9,31 @@
<div fxLayout="column">
<mat-form-field (click)="actualDisbursementDatePicker.open()">
<mat-label>{{"labels.inputs.Disbursed On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Disbursed On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="actualDisbursementDatePicker" required
formControlName="actualDisbursementDate">
<mat-datepicker-toggle matSuffix [for]="actualDisbursementDatePicker"></mat-datepicker-toggle>
<mat-datepicker #actualDisbursementDatePicker></mat-datepicker>
<mat-error *ngIf="disbursementLoanForm.controls.actualDisbursementDate.hasError('required')">
{{"labels.inputs.Disbursed On Date" |translate}}<strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Disbursed On Date" | translate }}<strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput required formControlName="transactionAmount">
<mat-error *ngIf="disbursementLoanForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Payment Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
{{ paymentType.name }}
@@ -45,7 +45,7 @@
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
<mat-slide-toggle>
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
<span class="m-l-10">{{"labels.inputs.Show Payment Details" |translate}}</span>
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate }}</span>
</div>
</mat-slide-toggle>
</span>
@@ -53,42 +53,42 @@
<ng-container *ngIf="showPaymentDetails">
<mat-form-field>
<mat-label>{{"labels.inputs.Account" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Account" | translate }} #</mat-label>
<input matInput formControlName="accountNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Cheque" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Cheque" | translate }} #</mat-label>
<input matInput formControlName="checkNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Routing Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Routing Code" | translate }}</mat-label>
<input matInput formControlName="routingCode">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reciept" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Reciept" | translate }} #</mat-label>
<input matInput formControlName="receiptNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Bank" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Bank" | translate }} #</mat-label>
<input matInput formControlName="bankNumber">
</mat-form-field>
</ng-container>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!disbursementLoanForm.valid"
*mifosxHasPermission="'DISBURSE_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'DISBURSE_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -11,11 +11,11 @@
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" (click)="reset()">{{"labels.buttons.Reset" |translate}}</button>
<button type="button" color="primary" mat-raised-button (click)="applyPattern()">{{"labels.buttons.Pattern" |translate}}</button>
<button type="button" color="primary" mat-raised-button [disabled]="!wasChanged" (click)="validate()">{{"labels.buttons.Validate" |translate}}</button>
<button type="button" color="primary" mat-raised-button [disabled]="!wasValidated" (click)="submit()">{{"labels.buttons.Submit" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button type="button" (click)="reset()">{{"labels.buttons.Reset" | translate }}</button>
<button type="button" color="primary" mat-raised-button (click)="applyPattern()">{{"labels.buttons.Pattern" | translate }}</button>
<button type="button" color="primary" mat-raised-button [disabled]="!wasChanged" (click)="validate()">{{"labels.buttons.Validate" | translate }}</button>
<button type="button" color="primary" mat-raised-button [disabled]="!wasValidated" (click)="submit()">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,52 +9,52 @@
<div fxLayout="column">
<mat-form-field (click)="transactionsDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionsDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionsDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionsDatePicker></mat-datepicker>
<mat-error *ngIf="foreclosureForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Principal" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Principal" | translate }}</mat-label>
<input matInput formControlName="outstandingPrincipalPortion">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Interest" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Interest" | translate }}</mat-label>
<input matInput formControlName="outstandingInterestPortion">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Fee Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Fee Amount" | translate }}</mat-label>
<input matInput formControlName="outstandingFeeChargesPortion">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Penalty Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Penalty Amount" | translate }}</mat-label>
<input matInput required formControlName="outstandingPenaltyChargesPortion">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput required formControlName="transactionAmount">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!foreclosureForm.valid"
*mifosxHasPermission="'FORECLOSURE_LOAN'">{{"labels.buttons.Foreclosure" |translate}}</button>
*mifosxHasPermission="'FORECLOSURE_LOAN'">{{"labels.buttons.Foreclosure" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,40 +9,40 @@
<div fxLayout="column">
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="creditBalanceLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput required formControlName="transactionAmount">
<mat-error *ngIf="creditBalanceLoanForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!creditBalanceLoanForm.valid"
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,49 +9,49 @@
<div fxLayout="column">
<mat-form-field (click)="rescheduleDatePicker.open()">
<mat-label>{{"labels.inputs.Reschedule from Installment On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Reschedule from Installment On" | translate }}</mat-label>
<input matInput [min]="minDate" [matDatepicker]="rescheduleDatePicker" required
formControlName="rescheduleFromDate">
<mat-datepicker-toggle matSuffix [for]="rescheduleDatePicker"></mat-datepicker-toggle>
<mat-datepicker #rescheduleDatePicker></mat-datepicker>
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleFromDate.hasError('required')">
{{"labels.inputs.Reschedule Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Reschedule Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reason for Rescheduling" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Reason for Rescheduling" | translate }}</mat-label>
<mat-select formControlName="rescheduleReasonId">
<mat-option *ngFor="let rescheduleReasonCode of codes" [value]="rescheduleReasonCode.id">
{{ rescheduleReasonCode.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="rescheduleLoanForm.controls.rescheduleReasonId.hasError('required')">
{{"labels.inputs.Reason for Rescheduling" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Reason for Rescheduling" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="submittedDatePicker.open()">
<mat-label>{{"labels.inputs.Submitted On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Submitted On" | translate }}</mat-label>
<input matInput [min]="minDate" [matDatepicker]="submittedDatePicker" required
formControlName="submittedOnDate">
<mat-datepicker-toggle matSuffix [for]="submittedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #submittedDatePicker></mat-datepicker>
<mat-error *ngIf="rescheduleLoanForm.controls.submittedOnDate.hasError('required')">
{{"labels.inputs.Submitted On Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Submitted On Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Comments" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Comments" | translate }}</mat-label>
<textarea matInput formControlName="rescheduleReasonComment"></textarea>
</mat-form-field>
<mat-checkbox [formControl]="changeRepaymentDate"> {{"labels.inputs.Change Repayment Date" |translate}} </mat-checkbox>
<mat-checkbox [formControl]="changeRepaymentDate"> {{"labels.inputs.Change Repayment Date" | translate }} </mat-checkbox>
<ng-container *ngIf="changeRepaymentDate.value" (click)="installmentrescheduledDatePicker.open()">
<mat-form-field>
<mat-label>{{"labels.inputs.Installment Rescheduled to" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Installment Rescheduled to" | translate }}</mat-label>
<input matInput [min]="minDate" [matDatepicker]="installmentrescheduledDatePicker"
formControlName="adjustedDueDate">
<mat-datepicker-toggle matSuffix [for]="installmentrescheduledDatePicker"></mat-datepicker-toggle>
@@ -59,33 +59,33 @@
</mat-form-field>
</ng-container>
<mat-checkbox [formControl]="introduceGracePeriods"> {{"labels.inputs.Introduce Mid-term grace periods" |translate}} </mat-checkbox>
<mat-checkbox [formControl]="introduceGracePeriods"> {{"labels.inputs.Introduce Mid-term grace periods" | translate }} </mat-checkbox>
<ng-container *ngIf="introduceGracePeriods.value">
<mat-form-field>
<mat-label>{{"labels.inputs.Principal Grace Periods" |translate}} </mat-label>
<mat-label>{{"labels.inputs.Principal Grace Periods" | translate }} </mat-label>
<input matInput formControlName="graceOnPrincipal">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Interest Grace Periods" |translate}} </mat-label>
<mat-label>{{"labels.inputs.Interest Grace Periods" | translate }} </mat-label>
<input matInput formControlName="graceOnInterest">
</mat-form-field>
</ng-container>
<mat-checkbox [formControl]="extendRepaymentPeriod"> {{"labels.inputs.Extend Repayment Period" |translate}} </mat-checkbox>
<mat-checkbox [formControl]="extendRepaymentPeriod"> {{"labels.inputs.Extend Repayment Period" | translate }} </mat-checkbox>
<ng-container *ngIf="extendRepaymentPeriod.value">
<mat-form-field>
<mat-label>{{"labels.inputs.Number Of new Repayments" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Number Of new Repayments" | translate }}</mat-label>
<input matInput formControlName="extraTerms">
</mat-form-field>
</ng-container>
<mat-checkbox [formControl]="adjustinterestrates"> {{"labels.inputs.Adjust interest rates for remainder of loan" |translate}} </mat-checkbox>
<mat-checkbox [formControl]="adjustinterestrates"> {{"labels.inputs.Adjust interest rates for remainder of loan" | translate }} </mat-checkbox>
<ng-container *ngIf="adjustinterestrates.value">
<mat-form-field>
<mat-label>{{"labels.inputs.New Interest Rate" |translate}}</mat-label>
<mat-label>{{"labels.inputs.New Interest Rate" | translate }}</mat-label>
<input matInput formControlName="newInterestRate">
</mat-form-field>
</ng-container>
@@ -93,9 +93,9 @@
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!rescheduleLoanForm.valid"
*mifosxHasPermission="'APPROVE_RESCHEDULELOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'APPROVE_RESCHEDULELOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,23 +9,23 @@
<div>
<mat-form-field fxFlex>
<mat-label>{{"labels.inputs.Loan Screen Reports" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Loan Screen Reports" | translate }}</mat-label>
<mat-select formControlName="templateId">
<mat-option *ngFor="let template of templatesData" [value]="template.id">
{{ template.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="loanScreenReportForm.controls.templateId.hasError('required')">
{{"labels.inputs.Screen Report" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Screen Report" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!loanScreenReportForm.valid">
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{"labels.buttons.Generate Report" |translate}}
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{"labels.buttons.Generate Report" | translate }}
</button>
</mat-card-actions>
@@ -44,12 +44,12 @@
<div fxLayoutAlign="end">
<button mat-stroked-button color="primary" [disabled]="!template" (click)="print()">
<fa-icon icon="file" class="m-r-10"></fa-icon>
{{"labels.buttons.Print" |translate}}
{{"labels.buttons.Print" | translate }}
</button>
</div>
<div #screenReport class="screen-report">
<p>{{"labels.text.Please select a screen report." |translate}}</p>
<p>{{"labels.text.Please select a screen report." | translate }}</p>
</div>
</mat-card>
@@ -9,27 +9,27 @@
<div fxLayout="column">
<mat-form-field (click)="closedDatePicker.open()">
<mat-label>{{"labels.inputs.Closed On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Closed On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closedDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="closedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #closedDatePicker></mat-datepicker>
<mat-error *ngIf="closeLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Closed Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Closed Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!closeLoanForm.valid"
*mifosxHasPermission="'CLOSE_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'CLOSE_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,13 +9,13 @@
<div fxLayout="column">
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="repaymentLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
@@ -54,22 +54,22 @@
</div>
<mat-form-field appearance="fill">
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<span matTextSuffix class="m-l-10">{{ dataObject.currency.code }}</span>
<span fxFlex="auto"></span>
<input type="number" matInput required class="right-input" formControlName="transactionAmount">
<mat-error *ngIf="repaymentLoanForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Payment Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
{{ paymentType.name }}
@@ -81,7 +81,7 @@
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
<mat-slide-toggle>
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
<span class="m-l-10">{{"labels.inputs.Show Payment Details" |translate}}</span>
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate }}</span>
</div>
</mat-slide-toggle>
</span>
@@ -89,42 +89,42 @@
<ng-container *ngIf="showPaymentDetails">
<mat-form-field>
<mat-label> {{"labels.inputs.Account" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Account" | translate }} #</mat-label>
<input matInput formControlName="accountNumber">
</mat-form-field>
<mat-form-field>
<mat-label> {{"labels.inputs.Cheque" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Cheque" | translate }} #</mat-label>
<input matInput formControlName="checkNumber">
</mat-form-field>
<mat-form-field>
<mat-label> {{"labels.inputs.Routing Code" |translate}}</mat-label>
<mat-label> {{"labels.inputs.Routing Code" | translate }}</mat-label>
<input matInput formControlName="routingCode">
</mat-form-field>
<mat-form-field>
<mat-label> {{"labels.inputs.Reciept" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Reciept" | translate }} #</mat-label>
<input matInput formControlName="receiptNumber">
</mat-form-field>
<mat-form-field>
<mat-label> {{"labels.inputs.Bank" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Bank" | translate }} #</mat-label>
<input matInput formControlName="bankNumber">
</mat-form-field>
</ng-container>
<mat-form-field>
<mat-label> {{"labels.inputs.Note" |translate}}</mat-label>
<mat-label> {{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!repaymentLoanForm.valid"
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,13 +9,13 @@
<div fxLayout="column">
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="prepayLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
@@ -54,22 +54,22 @@
</div>
<mat-form-field appearance="fill">
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<span matTextSuffix class="m-l-10">{{ prepayData.currency.code }}</span>
<span fxFlex="auto"></span>
<input type="number" matInput required class="right-input" formControlName="transactionAmount">
<mat-error *ngIf="prepayLoanForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate }}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Payment Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
{{ paymentType.name }}
@@ -81,7 +81,7 @@
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
<mat-slide-toggle>
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
<span class="m-l-10">{{"labels.inputs.Show Payment Details" |translate}}</span>
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate }}</span>
</div>
</mat-slide-toggle>
</span>
@@ -89,42 +89,42 @@
<ng-container *ngIf="showPaymentDetails">
<mat-form-field>
<mat-label> {{"labels.inputs.Account" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Account" | translate }} #</mat-label>
<input matInput formControlName="accountNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Cheque" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Cheque" | translate }} #</mat-label>
<input matInput formControlName="checkNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Routing Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Routing Code" | translate }}</mat-label>
<input matInput formControlName="routingCode">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reciept" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Reciept" | translate }} #</mat-label>
<input matInput formControlName="receiptNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Bank" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Bank" | translate }} #</mat-label>
<input matInput formControlName="bankNumber">
</mat-form-field>
</ng-container>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!prepayLoanForm.valid"
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,26 +9,26 @@
<div fxLayout="column">
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="recoveryRepaymentLoanForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput required formControlName="transactionAmount">
<mat-error *ngIf="recoveryRepaymentLoanForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Payment Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Payment Type" | translate }}</mat-label>
<mat-select formControlName="paymentTypeId">
<mat-option *ngFor="let paymentType of paymentTypes" [value]="paymentType.id">
{{ paymentType.name }}
@@ -40,7 +40,7 @@
<span fxFlex="75%" class="expandcollapsebutton m-l-10 m-t-40" (click)="addPaymentDetails()">
<mat-slide-toggle>
<div [className]="showPaymentDetails ? 'enabled' : 'disabled'">
<span class="m-l-10">{{"labels.inputs.Show Payment Details" |translate}}</span>
<span class="m-l-10">{{"labels.inputs.Show Payment Details" | translate }}</span>
</div>
</mat-slide-toggle>
</span>
@@ -48,42 +48,42 @@
<ng-container *ngIf="showPaymentDetails">
<mat-form-field>
<mat-label> {{"labels.inputs.Account" |translate}} #</mat-label>
<mat-label> {{"labels.inputs.Account" | translate }} #</mat-label>
<input matInput formControlName="accountNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Cheque" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Cheque" | translate }} #</mat-label>
<input matInput formControlName="checkNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Routing Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Routing Code" | translate }}</mat-label>
<input matInput formControlName="routingCode">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Reciept" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Reciept" | translate }} #</mat-label>
<input matInput formControlName="receiptNumber">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Bank" |translate}} #</mat-label>
<mat-label>{{"labels.inputs.Bank" | translate }} #</mat-label>
<input matInput formControlName="bankNumber">
</mat-form-field>
</ng-container>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!recoveryRepaymentLoanForm.valid"
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'REPAYMENT_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,27 +9,27 @@
<div fxLayout="column">
<mat-form-field (click)="rejectedDatePicker.open()">
<mat-label>{{"labels.inputs.Rejected On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Rejected On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectedDatePicker" required
formControlName="rejectedOnDate">
<mat-datepicker-toggle matSuffix [for]="rejectedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #rejectedDatePicker></mat-datepicker>
<mat-error *ngIf="rejectLoanForm.controls.rejectedOnDate.hasError('required')">
{{"labels.inputs.Rejected Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Rejected Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!rejectLoanForm.valid"
*mifosxHasPermission="'REJECT_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'REJECT_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -7,14 +7,14 @@
<div fxLayout="column">
<mat-form-field fxFlex>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput [formControl]="note"></textarea>
</mat-form-field>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" (click)="submit()"
*mifosxHasPermission="'APPROVALUNDO_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'APPROVALUNDO_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</div>
@@ -7,16 +7,16 @@
<div fxLayout="column">
<mat-form-field fxFlex>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput required [formControl]="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" (click)="submit()"
*mifosxHasPermission="'DISBURSALUNDO_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'DISBURSALUNDO_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -8,23 +8,23 @@
<table>
<tbody>
<tr>
<td>{{"labels.inputs.Disbursement Date" |translate}}</td>
<td>{{"labels.inputs.Disbursement Date" | translate }}</td>
<td>{{dataObject.timeline.actualDisbursementDate}}<span
*ngIf="!dataObject.timeline.actualDisbursementDate">{{"labels.inputs.Not Available" |translate}}</span></td>
*ngIf="!dataObject.timeline.actualDisbursementDate">{{"labels.inputs.Not Available" | translate }}</span></td>
</tr>
<tr>
<td>{{"labels.inputs.Currency" |translate}}</td>
<td>{{"labels.inputs.Currency" | translate }}</td>
<td>{{dataObject.currency.name}}</td>
</tr>
<tr>
<td>{{"labels.inputs.Loan Officer" |translate}}</td>
<td>{{dataObject.loanOfficerName}} <span *ngIf="!dataObject.loanOfficerName">{{"labels.inputs.Unassigned" |translate}}</span>
<td>{{"labels.inputs.Loan Officer" | translate }}</td>
<td>{{dataObject.loanOfficerName}} <span *ngIf="!dataObject.loanOfficerName">{{"labels.inputs.Unassigned" | translate }}</span>
<span *ngIf="dataObject.loanOfficerName">
<fa-icon icon="times"></fa-icon>
</span></td>
</tr>
<tr>
<td>{{"labels.inputs.External Id" |translate}}</td>
<td>{{"labels.inputs.External Id" | translate }}</td>
<td>
<mifosx-external-identifier externalId="{{dataObject.externalId}}"></mifosx-external-identifier>
</td>
@@ -37,27 +37,27 @@
<table>
<tbody>
<tr>
<td>{{"labels.inputs.Loan Purpose" |translate}}</td>
<td>{{"labels.inputs.Loan Purpose" | translate }}</td>
<td>
{{dataObject.loanPurposeName}} <span *ngIf="!dataObject.loanPurposeName"> {{"labels.inputs.Not Provided" |translate}} </span>
{{dataObject.loanPurposeName}} <span *ngIf="!dataObject.loanPurposeName"> {{"labels.inputs.Not Provided" | translate }} </span>
</td>
</tr>
<tr>
<td>{{"labels.inputs.Approved Amount" |translate}}</td>
<td>{{"labels.inputs.Approved Amount" | translate }}</td>
<td>
<span>{{dataObject.approvedPrincipal | formatNumber}}</span>
</td>
</tr>
<tr>
<td>{{"labels.inputs.Disburse Amount" |translate}}</td>
<td>{{"labels.inputs.Disburse Amount" | translate }}</td>
<td>
<span>{{dataObject.principal | formatNumber}}</span>
</td>
</tr>
<tr>
<td>{{"labels.inputs.Arrears By" |translate}}</td>
<td>{{"labels.inputs.Arrears By" | translate }}</td>
<td>{{dataObject.summary.totalOverdue | formatNumber}}
<span *ngIf="dataObject.summary.totalOverdue < 0">{{"labels.inputs.Not Provided" |translate}}</span>
<span *ngIf="dataObject.summary.totalOverdue < 0">{{"labels.inputs.Not Provided" | translate }}</span>
</td>
</tr>
</tbody>
@@ -71,7 +71,7 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Guarantors Details" |translate}}</h3>
<h3>{{"labels.heading.Guarantors Details" | translate }}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
@@ -85,7 +85,7 @@
<table fxFlexFill mat-table
[dataSource]="guarantorDetails|accountsFilter:'guarantor':showDeletedGuarantorsAccounts">
<ng-container matColumnDef="fullname">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
{{guarantor.firstname}} &nbsp; {{guarantor.lastname}}
@@ -94,7 +94,7 @@
</ng-container>
<ng-container matColumnDef="relationship">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Relationship" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Relationship" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
{{guarantor.clientRelationshipType.name}}
@@ -103,7 +103,7 @@
</ng-container>
<ng-container matColumnDef="guarantortype">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Guarantor Type" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Guarantor Type" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
{{guarantor.guarantorType.value}}
@@ -112,7 +112,7 @@
</ng-container>
<ng-container matColumnDef="depositAccount">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Deposit Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Deposit Account" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
@@ -121,7 +121,7 @@
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
@@ -130,7 +130,7 @@
</ng-container>
<ng-container matColumnDef="remainingAmount">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Remaining Amount" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Remaining Amount" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
@@ -139,21 +139,21 @@
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
<td mat-cell *matCellDef="let guarantor">
<span *ngIf="!guarantor.guarantorFundingDetails">
<span *ngIf="guarantor.status">
{{"labels.inputs.Active" |translate}}
{{"labels.inputs.Active" | translate }}
</span>
<span *ngIf="!guarantor.status">
{{"labels.inputs.Deleted" |translate}}
{{"labels.inputs.Deleted" | translate }}
</span>
</span>
</td>
</ng-container>
<ng-container matColumnDef="action">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Action" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Action" | translate }} </th>
<td mat-cell *matCellDef="let guarantor; let id = index">
<span *ngIf="!guarantor.guarantorFundingDetails">
<button mat-raised-button class="account-action-button" color="primary"
@@ -9,35 +9,35 @@
<div fxLayout="column">
<mat-form-field (click)="interestDatePicker.open()">
<mat-label>{{"labels.inputs.Interest waived on" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Interest waived on" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="interestDatePicker"></mat-datepicker-toggle>
<mat-datepicker #interestDatePicker></mat-datepicker>
<mat-error *ngIf="loanInterestForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Interest Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Interest Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Transaction Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Amount" | translate }}</mat-label>
<input matInput required formControlName="transactionAmount">
<mat-error *ngIf="loanInterestForm.controls.transactionAmount.hasError('required')">
{{"labels.inputs.Transaction Amount" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Transaction Amount" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!loanInterestForm.valid"
*mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'WAIVEINTERESTPORTION_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,27 +9,27 @@
<div fxLayout="column">
<mat-form-field (click)="withdrawnOnDatePicker.open()">
<mat-label>{{"labels.inputs.Withdrawn On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Withdrawn On" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="withdrawnOnDatePicker" required
formControlName="withdrawnOnDate">
<mat-datepicker-toggle matSuffix [for]="withdrawnOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #withdrawnOnDatePicker></mat-datepicker>
<mat-error *ngIf="withdrawnByClientLoanForm.controls.withdrawnOnDate.hasError('required')">
{{"labels.inputs.Withdrawn On Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Withdrawn On Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" [disabled]="!withdrawnByClientLoanForm.valid"
*mifosxHasPermission="'WITHDRAW_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'WITHDRAW_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>
@@ -9,23 +9,23 @@
<div fxLayout="column">
<mat-form-field (click)="writeOffDatePicker.open()">
<mat-label>{{"labels.inputs.Write off on" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Write off on" | translate }}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="writeOffDatePicker" required
formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="writeOffDatePicker"></mat-datepicker-toggle>
<mat-datepicker #writeOffDatePicker></mat-datepicker>
<mat-error *ngIf="writeOffForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Write Off Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
{{"labels.inputs.Write Off Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate }}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate }}</mat-label>
<input matInput formControlName="amount">
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate }}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -34,9 +34,9 @@
</form>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate }}</button>
<button mat-raised-button color="primary" (click)="submit()"
*mifosxHasPermission="'WRITEOFF_LOAN'">{{"labels.buttons.Submit" |translate}}</button>
*mifosxHasPermission="'WRITEOFF_LOAN'">{{"labels.buttons.Submit" | translate }}</button>
</mat-card-actions>
</mat-card-content>