Commit Graph
198 Commits
Author SHA1 Message Date
Jaanu423andClaude Sonnet 4.6 5f7de01ba9 fix(savings): remove duplicate Submit button in Modify Savings Account form
Added hideButtons @Input to SavingsAccountPreviewStepComponent and passed
hideButtons=true from the edit form — prevents the preview step's own
Cancel/Submit row from rendering alongside the tab action bar's buttons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 13:02:06 +05:30
Jaanu423andClaude Sonnet 4.6 260fabaa48 feat(accounts): add Modify Application for rejected Current/Savings/FD/RD accounts
- Add 'Modify Application' button in kebab menu for rejected accounts (all 4 types)
- Rewrite edit components with tab-based UI matching create form
- Pre-populate all create-time values in edit form: product, account status,
  customer segment, account type, joint holders, nominees, introducer,
  deposit account link, senior citizen rate, tenure, flags (msme/balanceSwap/autoDebit)
- Fix edit mode detection using accountNo presence
- Add preselectedIntroducer @Input to IntroducerSearchComponent for pre-fill
- Support both camelCase and lowercase keys for joint holders (MySQL queryForList)
- Fix account number display: actual accountNo before previewAccountNo
- Fix cbsAccountType restore: cbsAccountType only, avoid Fineract enum object
- Add nominees fetch via /clients/{id}/nominees API in all 4 edit components
- Fix RD/FD Interest Rate Chart: SimpleChanges to prevent reset race condition
- Pre-check Senior Citizen checkbox in edit form from isSeniorCitizen DB field
- Auto-calculate rate when tenure pre-filled in edit mode
- FD calculator: use backend calculate-fd-interest API for all compounding types
- Support interestCompoundingPeriodInMonths=0 (daily) in FD calculator API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 10:36:40 +05:30
Jaanu423andClaude Sonnet 4.6 4ffeb6ee92 feat(cashier): add morning transfer & previous-day settlement hard block
- validateCashierHasMorningTransfer() blocks deposits & withdrawals when no today's cash transfer received
- validatePreviousDayClosed() blocks all transactions when previous day unsettled
- morningTransferReceived field added to cashier-day-status API response
- Warning banners shown in Savings, Current, FD, RD transaction forms
- Submit button disabled when either condition is active
- getCashierTotalCash SQL fixed: dm.denomination_value -> dm.denomination

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 13:14:29 +05:30
Jaanu423andClaude Sonnet 4.6 f291e4da5b feat(cashier): denomination overdraft validation, exchange detail fix, cash exchange in reports
- Savings/Current/FD/RD withdrawal forms: card-style overdraft warning when
  requested denomination count exceeds cashier stock; submit blocked on overdraft
- Cash History detail view: show both RECEIVED and GIVEN denomination breakdowns
  for Cash Exchange (previously only RECEIVED side was displayed)
- Closing Cash Report: add Cash Exchanges section (denomination-wise received/given/net)
- Excess Transaction Report: include cash exchanges >= threshold with Type badge
  (Exchange/Txn) and ID Proof column for RBI/AML compliance
- cashier-shared.scss: etr-badge and closing-exchange-head styles
- Cash Exchange entry: overdraft warning redesigned to cx-overdraft-card BEM layout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 10:10:17 +05:30
Jaanu423andClaude Sonnet 4.6 7ccaffa7f1 feat: cashier denomination-wise opening & closing balance panels in all deposit/withdrawal forms
OVERVIEW
--------
Added real-time cashier cash position display inside the denomination breakdown
panel of all 4 transaction entry screens: Savings, Current Account, Recurring
Deposit, and Fixed Deposit. Shows opening balance at the top and projected
closing balance at the bottom after factoring in the current transaction.

BACKEND INTEGRATION
-------------------
- New CashierService (src/app/cashier/cashier.service.ts)
  getCashierPositionForMe(asOfDate?) calls GET /cashreports/cashier-position/me
  Returns denomination-wise opening cash position for the logged-in cashier user.
  Non-cashier users receive empty denominations array; UI hides panels silently.

OPENING BALANCE CARD (top of denomination panel)
-------------------------------------------------
- Loaded on ngOnInit() via loadOpeningPosition() in all 4 component .ts files
- Notes and Coins displayed in separate labeled pill sections
- Each pill shows: Rs{value} x{count} format
- Card is hidden entirely if the logged-in user is not a cashier

CLOSING BALANCE CARD (below tally / Apply button)
--------------------------------------------------
- Computed getter closingDenoms() merges opening position with entered denominations
  deposit:    closingCount = openCount + enteredCount
  withdrawal: closingCount = openCount - enteredCount
- Notes and Coins in separate labeled pill sections (identical format to opening)
- Entered/changed denominations (delta != 0): full opacity + bold font weight
- Untouched denominations (delta = 0): 38% opacity, clearly dimmed, no borders
- closingTotal = openingTotal +/- denominationTotal shown in card header
- Card turns green for positive closing balance, red for negative

COMPONENTS UPDATED
------------------
- savings-account-transactions       (.ts / .html / .scss)
- current-account-transactions       (.ts / .html / .scss)
- deposit-recurring-deposits-account (.ts / .html / .scss)
- fixed-deposits-cash-transaction    (.ts / .html / .scss)

CASHIER MODULE (new - src/app/cashier/)
-----------------------------------------
Full cashier workspace module added to the app:
- cashier.service.ts          API calls (position, transfers, settlement, etc.)
- cashier.module.ts           Angular module declaration
- cashier-routing.module.ts   Lazy-loaded routes
- cashier-position/           Cashier cash position dashboard
- cash-exchange-entry/        Cash exchange denomination entry
- cash-history/               Transaction history per cashier
- cash-settlement/            End-of-day cash settlement
- cash-transfer/              Vault-to-cashier cash transfer
- inter-cashier-transfer/     Transfer between cashier drawers
- reconciliation/             Cash reconciliation with GL
- closing-cash-report/        Closing balance report
- currency-exchange-detail/   Currency exchange breakdown
- excess-transaction-report/  Excess/short transaction report
Module wired into app.module.ts and shell nav (shell.component.html).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:39:31 +05:30
Jaanu423andClaude Opus 4.7 555d9fb4b7 feat: send denominationId in deposit payload + block submit on denomination mismatch
- All 4 deposit forms (Current/Savings/FD/RD) now send denominationId +
  denominationValue in denominationBreakdown so the backend can persist rows.
- Submit is disabled when a denomination breakdown is entered but its total
  does not match the transaction amount.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:37:19 +05:30
Jaanu423andClaude Opus 4.7 89e17f561f feat: dynamic denomination breakdown in deposit forms + savings menu scroller
Deposit forms (Current/Savings/FD/RD) now load cash denominations from
the Denomination Master instead of a hardcoded list:
- active + discontinued denominations fetched via /denominationmaster
- discontinued rows hidden by default behind a "Show discontinued" toggle,
  rendered faded and disabled (cannot be counted) when revealed
- rows sorted by value descending; redesigned as a Denom/Qty/Amount table
  with circular coin chips and per-row amount (faded at zero)
Also: savings account-actions menu now scrolls (max-height + grouped
sections mirror the current-account menu) and renders all action items.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 13:19:23 +05:30
Jaanu423andClaude Sonnet 4.6 33b01d667d feat: fix standing instructions action buttons for all account types
- Wire up Edit/View/Delete buttons with click handlers in all 4 HTML templates
  (Current Account, Savings, Fixed Deposit, Recurring Deposit)
- Remove broken [routerLink] from Recurring Deposit HTML
- Add viewInstruction() and editInstruction() methods to all 4 tab components
- Use navigateByUrl with absolute path built from this.router.url to avoid
  Angular multi-level .. navigation bug (was producing literal .. in URL)
  CA/Savings/RD: basePath + /transfer-funds/:id/view|edit
  FD: basePath + /transactions/account-transfers/:id/view|edit
- Fix deleteStandingInstruction() to refresh table after delete in all tabs
- Fix AccountTransfersService.deleteStandingInstrucions to use
  PUT ?command=delete instead of HTTP DELETE (backend soft-delete only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 11:42:18 +05:30
Jaanu423andClaude Sonnet 4.6 ad6f629c3f fix: nominee share & joint ownership validation across all account types
- Block 0% nominee share in all steppers (Savings, FD, RD, Current) —
  Add button disabled via isValid, addNominee() guards < 1, nominee-form
  error condition fixed for value=0
- Joint ownership: default primary share 50%, enforce min 1% on blur,
  max 100% on input with DOM clamp via $event, auto-redistribute
  co-holders proportionally when primary share changes,
  isJointOwnershipValid guards each holder >= 1
- Pending/Rejected account tabs: normalize date format to 22 May 2026
  for both array and string date values from API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 14:05:00 +05:30
Jaanu423andClaude Sonnet 4.6 3370a95235 feat: account charges UI — current account, FD, RD stepper redesign
Redesigned create-account stepper UI for current accounts, fixed deposits,
and recurring deposits: updated layout, preview steps, interest rate chart
step, currency step, and detail step components. Savings preview styling
and currency step also updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 12:47:25 +05:30
Jaanu423andClaude Sonnet 4.6 64c76a9806 Merge branch 'feature/account-charges' of https://git.zeptic.in/CBSNexora/Angular-UI-CBS-Main into feature/account-charges
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 21:19:03 +05:30
Jaanu423andClaude Sonnet 4.6 61b0244fa0 feat: senior citizen rate fix, joint ownership cap, FD/RD UI improvements
- Senior citizen interest rate correctly sent in FD/RD create payload
  (isSeniorCitizen, seniorCitizenInterestRate, nominalAnnualInterestRate override)
- Joint account ownership capped at 100%: Add Holder/Partner button disabled
  when 100% reached; dialog enforces remaining share as max across all account types
- FD/RD interest rate chart step: rate calculator with tenure, senior citizen toggle,
  maturity preview
- FD/RD preview step improvements
- Base FD interest rate chart component added under fixed-deposit-products
- Base recurring deposit interest rate chart component removed (replaced)
- Savings account details step: joint holder improvements
- Products routing and module updated for base FD rate chart

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 21:15:45 +05:30
AdityaandClaude Opus 4.7 b149fef72e feat: KYC re-verify UX, family/nominee tab gating, savings dialogs, cfcfrms shell
- KYC tab: fix Verify (PAN) and Send OTP (Aadhaar) being disabled in edit mode;
  unmask Aadhaar input and show on-file masked value as hint; resolve kycId
  from id/kycId/resourceId fallbacks.
- Client stepper/view: add familyAllowed / nomineeAllowed predicates +
  CanActivate route guards. Family tab hidden for non-individuals, Nominee
  tab hidden for non-proprietor entities. Family-members step accepts a
  nomineeOnly input for proprietorship clients. Add/Edit/Delete buttons
  inside family-members and nominee tabs gated by canAdd.
- cfcfrms: add cfcfrms-shell wrapper, restyle complaint/fraud/mule/escalate
  pages and dashboard.
- Savings: identity-verify and transaction-confirm dialogs, manage / activate
  / add-charge flows, account preview styling.
- Tasks, core shell, account-nominees, icons: minor style and behaviour
  updates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 18:49:43 +05:30
Nitesh YadavandClaude Sonnet 4.6 3df7d100df feat: add nominee, auto-debit, charges UI for SB/CA/FD/RD accounts; enforce required fields
- SB/CA/FD/RD Currency Step: add Nomination Facility toggle with multi-nominee form
  (NomineeFormComponent), auto-debit facility toggle, dormancy alert panel
- SB/CA/FD/RD Preview Step: display nominees list, auto-debit status, dormancy info
- FD/RD create component: validate Deposit Tenure, Monthly Installment (RD), and
  Customer Segment are filled before submit; show clear alert messages on missing fields
- FD account details step: remove duplicate Currency section (already shown in
  Currency & Account Status Configuration step)
- CA/SB create component: handle duplicate externalId API error with user-friendly alert
  instead of raw error display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 08:08:08 +05:30
Nitesh Yadav 6753ab1d56 charges add module add in the saving account and current account 2026-05-18 10:11:41 +05:30
Nitesh Yadav 52e216fbe5 update rd,fd,saving and current product update validation end date and and this all account nominee facility code 2026-05-15 12:53:47 +05:30
Nitesh YadavandClaude Sonnet 4.6 d0370781e8 update loan product code and rd,fd,saving,current account validation add
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 07:40:04 +05:30
Nitesh Yadav ed45c8637e merege code this branch /feature/UI-DSC-MFA 2026-05-13 10:49:25 +05:30
AdityaandClaude Opus 4.7 d175354f88 feat(mfa): DSC as own factor type + fix selector collisions
- access-control: register DSC enrollment under factorType='DSC' instead of
  the legacy 'TOKEN' alias, hydrate / disable paths match on the same code.
  Pill labels in the picker and Hardware Token panel updated to 'Type · DSC'.
  service.ts MfaFactorType union adds 'DSC'.
- two-factor-authentication: initialise the delivery-method form at field
  declaration instead of inside ngOnInit so Angular's first change-detection
  pass doesn't fire 'Cannot find control' before the form is built.
- Rename duplicate component selectors that were tripping NG0912 at runtime:
  mifosx-notes-tab -> mifosx-{centers,clients,current-account,groups,loans,
  savings}-notes-tab; mifosx-unassign-staff-dialog -> mifosx-{clients,groups}-
  unassign-staff-dialog. Selectors aren't referenced in templates (route /
  dialog open), so the rename has no usage-site impact.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:07:14 +05:30
Nitesh Yadav 4d421e8066 merge feature/update_code and feature/UI-MFA-Product branch code 2026-05-11 11:36:56 +05:30
Nitesh Yadav bbbf3b9e8a feat: merge updates - current account, savings, recurring deposits and shared components 2026-04-29 15:20:31 +05:30
Nitesh Yadav 0d3d83799b save saving ui update and current account update priview section 2026-04-28 16:22:26 +05:30
Nitesh Yadav 31b2490f09 feat: update savings/current/rd account UI flows 2026-04-28 13:16:07 +05:30
Nitesh YadavandClaude Sonnet 4.6 f917467b68 add editable Account Type and Customer Segment dropdowns in product classification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 15:48:05 +05:30
Nitesh Yadav e4516934a7 saving account,current account and rd account modify based on new update 2026-04-27 10:55:03 +05:30
Nitesh Yadav 5fb25edca5 add gl mapping in the saving product,current product,rd product and also add genrate account no all three 2026-04-26 02:11:28 +05:30
Nitesh Yadav fbaec18552 update code account saving,current,RD 2026-04-24 16:24:28 +05:30
Nitesh Yadav fc1c5126fc saving , current and RD account code update 2026-04-22 18:28:14 +05:30
Nitesh YadavandClaude Sonnet 4.6 e9a9377148 update some logic show option
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 17:38:07 +05:30
AdityaandClaude Opus 4.6 73aa69ee02 feat: add RBI circulars, CKYC, KYC, Superset analytics, passbook modules and UI updates
Add new feature modules (RBI feeds, CKYC, KYC tab, Form60, Superset analytics, passbook),
update client family members, dashboard, login page, sidenav, images, translations,
environment config, and fix RBI feeds API auth by using relative URLs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 15:13:35 +05:30
manasvi_guptaandGitHub f425affb9c WEB-746: Fix GSIM deposit and withdrawal routing duplication causing 404 (#3204) 2026-02-22 15:14:22 -06:00
Soni JayandGitHub 0a992913ad WEB-770 Validation Message Not Displayed for Payment Type in Deposit and Withdrawal Forms (#3203) 2026-02-22 15:12:54 -06:00
Soni JayandGitHub b7e9068556 WEB-747 Unable to approve or activate the GSIM account from group level (#3184) 2026-02-18 17:46:39 -06:00
Krishna MewaraandGitHub aaace0f27b WEB-745: Fix unable to assign staff to active savings account (#3179) 2026-02-17 12:08:54 -06:00
Shubham KumarandGitHub fbee49b464 WEB-639: Refactor redundant boolean comparisons (#3063)
improve

improve

improve

improve
2026-01-31 07:07:59 -06:00
SaifulhuqandGitHub ba47f04b62 fix(savings): format charges date payload to match API requirements (#3055) 2026-01-29 22:53:14 -06:00
Soni JayandGitHub c3a7427389 WEB-616 For savings accounts the Product Name, Account Number and External Id must be in different rows in the blue box (#3036) 2026-01-22 10:33:28 -06:00
Soni JayandGitHub e9e8876c5d WEB-612 Display the External Id of a Savings account in the blue box (#3031) 2026-01-21 13:37:45 -06:00
Soni JayandGitHub 38733a3566 WEB-605 Change the vNEXT to MIFOS_INTERBANK_TRANSFERS variable and set it true as default (#3016) 2026-01-20 13:21:39 -06:00
Soni JayandGitHub 861765d744 WEB-595 Verticals 3 dots are not displayed in any language different to English in the Savings Transaction Tab (#3007) 2026-01-18 06:52:29 -06:00
Shubham KumarandGitHub a07a89a5d7 chore: add MPL license headers to all source files (#2977) 2026-01-10 10:44:23 -06:00
Shubham KumarandGitHub 53a238a1cb WEB-377:fix improve deposit form heading styling and appearance (#2952) 2025-12-31 11:06:54 -06:00
Soni JayandGitHub d6282f8d4a WEB-530 Add Money symbol for the Debit, Credit and Balance columns in the savings account transaction page (#2938) 2025-12-28 09:33:58 -06:00
Soni JayandGitHub 239937fcec WEB-525 No report is displayed for Savings transactions (#2931) 2025-12-24 21:36:46 -06:00
Shubham KumarandGitHub 978a62a6b3 improve spacing and margins on create savings account form (#2929) 2025-12-23 16:07:51 -06:00
Felix van Hove 7fd1486c08 Upgrading to Angular 20:
Replaced checked in package-lock.json by regenerated one.
Ran ng update @angular/core@20 @angular/cli@20
Ran npm install @angular-builders/jest@^20.0.0 @fortawesome/angular-fontawesome@^3.0.0 @swimlane/ngx-graph@^11
Ran npm install ngx-mat-select-search@^8.0.2.
Ran ng update @angular/material@20.
Updated all eslint and typescript to the latest versions.
Removed @angular-devkit/schematics.
Updated fontawesome.
Updated rxjs and tslib.
Moved required node version from 16 to 20.
Updated jest-preset-angular.
Set preserveWhitespaces to false.
Corrected two type declarations in two typescript files to make ng serve run without errors.
Removed unused angular-devkit/schematics from view-user.component.ts .
Updated list of supported browsers.
Upgraded prettier.
Ran prettier . --write the first time.
Ran prettier . --write the second time.
Ran ng generate @angular/core:inject with defaults, excepted a handful of files.
Fixed remaining eslint problems.
Added dist directory to ignores in eslint.config.js.
Let prettier fix formatting, almost everything is just line breaks.
Made htmlhint ignore @if and @for Angular constructs.
Updated node version in Github workflow to 22.12.0 (build.yml).
Updated .env.ts.
Updated Angular datetime format strings from YYYY-MM-DD to yyyy-MM-dd.
Merged changes from dev into angular20 branch.
2025-12-08 11:01:01 +01:00
Shubham KumarandGitHub 9432ad3b96 WEB-442-feat: implement LightGallery document preview across all document tabs (#2847)
* feat: implement LightGallery document preview across all document tabs

feat(documents): add LightGallery preview with accessibility and error handling

* fix: add accessibility and performance improvements for document preview

fix(styles): replace undefined  variable with -river

Delete button title translated
2025-12-03 05:18:02 -06:00
Victor Romero 35f6f7b241 WEB-336: Fix translation view inactive charges button for Savings 2025-10-02 09:36:51 -06:00
Shubham KumarandGitHub f55883b4f8 Fix: Align 'Transfer Funds' text properly (#2661) 2025-09-17 02:05:26 -06:00
Soni JayandGitHub 5e7fb6743d WEB-19 Clicking on account list part in bread crumbs can cause error (#2658) 2025-09-16 15:33:49 -06:00