feat: cash-only registers, day book sections and DD amendments
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Publish Image in Docker Hub / build (push) Canceled after 0s
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s

This commit is contained in:
2026-09-03 18:26:22 +05:30
parent 6442562df0
commit fbce73fd17
111 changed files with 9076 additions and 3507 deletions
@@ -21,6 +21,7 @@ import { Router, ActivatedRoute, RouterLink } from '@angular/router';
import { CurrentAccountsService } from '../../current-accounts.service';
import { SettingsService } from 'app/settings/settings.service';
import { Dates } from 'app/core/utils/dates';
import { FacilityChargeFilterService } from 'app/shared/charges/facility-charge-filter.service';
import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
/**
@@ -40,6 +41,7 @@ export class AddChargeCurrentAccountComponent implements OnInit {
private router = inject(Router);
private dateUtils = inject(Dates);
private currentAccountsService = inject(CurrentAccountsService);
private facilityChargeFilter = inject(FacilityChargeFilterService);
private settingsService = inject(SettingsService);
/** Minimum Due Date allowed. */
@@ -66,7 +68,9 @@ export class AddChargeCurrentAccountComponent implements OnInit {
*/
constructor() {
this.route.data.subscribe((data: { currentAccountActionData: any }) => {
this.currentAccountChargeOptions = data.currentAccountActionData.chargeOptions;
this.facilityChargeFilter
.excludeFacilityCharges(data.currentAccountActionData.chargeOptions)
.subscribe((charges: any[]) => (this.currentAccountChargeOptions = charges));
});
this.currentAccountId = this.route.snapshot.params['currentAccountId'];
}
@@ -36,6 +36,7 @@ import { TranslateService } from '@ngx-translate/core';
import { MatButton, MatIconButton } from '@angular/material/button';
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
import { MatStepperPrevious, MatStepperNext } from '@angular/material/stepper';
import { FacilityChargeFilterService } from 'app/shared/charges/facility-charge-filter.service';
import { ChargesFilterPipe } from '../../../pipes/charges-filter.pipe';
import { DateFormatPipe } from '../../../pipes/date-format.pipe';
import { FormatNumberPipe } from '../../../pipes/format-number.pipe';
@@ -73,6 +74,7 @@ export class CurrentAccountChargesStepComponent implements OnInit {
private dialog = inject(MatDialog);
private dateUtils = inject(Dates);
private translateService = inject(TranslateService);
private facilityChargeFilter = inject(FacilityChargeFilterService);
/** Current Account Product Template */
private _currentAccountProductTemplate: any;
@@ -80,7 +82,9 @@ export class CurrentAccountChargesStepComponent implements OnInit {
set currentAccountProductTemplate(value: any) {
this._currentAccountProductTemplate = value;
if (value) {
this.chargeData = value.chargeOptions || [];
this.facilityChargeFilter
.excludeFacilityCharges(value.chargeOptions)
.subscribe((charges: any[]) => (this.chargeData = charges));
// Only pre-populate from product template for new accounts
if (!this.currentAccountTemplate?.id) {
this.chargesDataSource = (value.charges || []).map((charge: any) => ({ ...charge, id: charge.chargeId }));
@@ -174,18 +174,6 @@
</label>
</div>
<div class="dig-card" [class.dig-card--on]="facilityConfig.withdrawalFacility">
<div class="dig-card__icon"><i class="fas fa-arrow-right-arrow-left"></i></div>
<div class="dig-card__body">
<span class="dig-card__label">Withdrawal Facility</span>
<span class="dig-card__status">{{ facilityConfig.withdrawalFacility ? 'Enabled' : 'Disabled' }}</span>
</div>
<label class="dig-toggle">
<input type="checkbox" [(ngModel)]="facilityConfig.withdrawalFacility" />
<span class="dig-toggle__track"><span class="dig-toggle__thumb"></span></span>
</label>
</div>
<div class="dig-card" [class.dig-card--on]="facilityConfig.depositFacilityKyc">
<div class="dig-card__icon"><i class="fas fa-id-card"></i></div>
<div class="dig-card__body">
@@ -24,7 +24,6 @@ const DEFAULT_FACILITY_CONFIG = {
neftFacility: false,
rtgsFacility: false,
interBankTotalCapFacility: false,
withdrawalFacility: false,
depositFacilityKyc: false,
virtualDebitCard: false,
internetBanking: false,
@@ -76,7 +76,6 @@ export class CurrentAccountPreviewStepComponent implements OnChanges {
{ key: 'neftFacility', label: 'NEFT Facility' },
{ key: 'rtgsFacility', label: 'RTGS Facility' },
{ key: 'interBankTotalCapFacility', label: 'Inter-Bank Total Cap' },
{ key: 'withdrawalFacility', label: 'Withdrawal Facility' },
{ key: 'depositFacilityKyc', label: 'Deposit Facility (KYC)' },
{ key: 'virtualDebitCard', label: 'Virtual Debit Card' },
{ key: 'internetBanking', label: 'Internet Banking' },
@@ -43,7 +43,6 @@ const DEFAULT_FACILITY_CONFIG: Record<string, boolean> = {
neftFacility: false,
rtgsFacility: false,
interBankTotalCapFacility: false,
withdrawalFacility: false,
depositFacilityKyc: false,
virtualDebitCard: false,
internetBanking: false,
@@ -66,7 +65,6 @@ const FACILITY_TOGGLES: { key: string; label: string; icon: string }[] = [
{ key: 'neftFacility', label: 'NEFT Facility', icon: 'fa-money-check-alt' },
{ key: 'rtgsFacility', label: 'RTGS Facility', icon: 'fa-money-check' },
{ key: 'interBankTotalCapFacility', label: 'Inter-Bank Total Cap', icon: 'fa-balance-scale' },
{ key: 'withdrawalFacility', label: 'Withdrawal Facility', icon: 'fa-arrow-right-arrow-left' },
{ key: 'depositFacilityKyc', label: 'Deposit Facility (KYC)', icon: 'fa-id-card' },
{ key: 'virtualDebitCard', label: 'Virtual Debit Card', icon: 'fa-credit-card' },
{ key: 'internetBanking', label: 'Internet Banking', icon: 'fa-globe' },