- Current Account module with full CRUD, transactions, charges, hold/release, block/unblock - Current Products management under Products module - DIP mobile number verification with real API call to /lookup/check - Sanctions verification dialog - Charges support for Current Account (chargeAppliesTo=5) in create/edit - Fixed permissions from SAVINGSACCOUNT to CURRENTACCOUNT across all current account components - Added all missing translation keys for Current Account in en-US.json Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
82 lines
3.2 KiB
HTML
82 lines
3.2 KiB
HTML
<!--
|
|
Copyright since 2025 Mifos Initiative
|
|
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
-->
|
|
|
|
<div class="container mat-elevation-z8">
|
|
<mat-card>
|
|
@if (transactionType.holdamount) {
|
|
<mat-card-title>{{ 'labels.heading.Hold Amount' | translate }}</mat-card-title>
|
|
}
|
|
@if (transactionType.blockaccount) {
|
|
<mat-card-title>{{ 'labels.heading.Block Current Account' | translate }}</mat-card-title>
|
|
}
|
|
|
|
<form [formGroup]="manageCurrentAccountForm" (ngSubmit)="submit()">
|
|
<mat-card-content class="layout-row">
|
|
<mat-form-field class="flex-100">
|
|
<mat-label>{{ 'labels.inputs.Reason' | translate }}</mat-label>
|
|
<mat-select required formControlName="reasonForBlock">
|
|
@for (codeValue of reasonOptions; track codeValue) {
|
|
<mat-option [value]="codeValue.id">
|
|
{{ codeValue.name }}
|
|
</mat-option>
|
|
}
|
|
</mat-select>
|
|
@if (manageCurrentAccountForm.controls.reasonForBlock.hasError('required')) {
|
|
<mat-error>
|
|
{{ 'labels.inputs.Reason' | translate }} {{ 'labels.commons.is' | translate }}
|
|
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
|
</mat-error>
|
|
}
|
|
</mat-form-field>
|
|
|
|
@if (transactionType.holdamount) {
|
|
<mat-form-field class="flex-100" (click)="transactionDatePicker.open()">
|
|
<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>
|
|
@if (manageCurrentAccountForm.controls.transactionDate.hasError('required')) {
|
|
<mat-error>
|
|
{{ 'labels.inputs.Transaction Date' | translate }} {{ 'labels.commons.is' | translate }}
|
|
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
|
</mat-error>
|
|
}
|
|
</mat-form-field>
|
|
}
|
|
|
|
@if (transactionType.holdamount) {
|
|
<mifosx-input-amount
|
|
class="flex-100"
|
|
[currency]="currency"
|
|
[isRequired]="true"
|
|
[inputFormControl]="manageCurrentAccountForm.controls.transactionAmount"
|
|
[inputLabel]="'Transaction Amount'"
|
|
>
|
|
</mifosx-input-amount>
|
|
}
|
|
</mat-card-content>
|
|
|
|
<mat-card-actions class="layout-row align-center gap-5px responsive-column">
|
|
<button type="button" mat-raised-button [routerLink]="['../../transactions']">
|
|
{{ 'labels.buttons.Cancel' | translate }}
|
|
</button>
|
|
<button mat-raised-button color="primary" [disabled]="!manageCurrentAccountForm.valid">
|
|
{{ 'labels.buttons.Confirm' | translate }}
|
|
</button>
|
|
</mat-card-actions>
|
|
</form>
|
|
</mat-card>
|
|
</div>
|