nitesh and Claude Opus 5.5
f96705baa4
Merge branch 'feature/advanceLoanProduct' into merge/dds-advance-loan-into-dev-latest
...
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
Adds the Advance Loan Product backend on top of the DDS merge of
dev-latest:
- Advance loan product ext entity, API and Liquibase
(LoanProductAdvanceExtService; loan product API accepts and returns
"advanceExtensions")
- Fees-Penalty-Interest-Principal repayment transaction processor,
enabled by fineract.loan.transactionprocessor.
fees-penalties-interest-principal.enabled (default true)
- Loan interest rate register backend
Conflict resolved:
- changelog-tenant.xml: kept both. The four advance loan changelogs
(0571_create_loan_product_advance_ext, 0572_add_loan_product_advance_
ext_fields, 0580_create_loan_rate_register_tables,
0581_enable_loan_rate_register_maker_checker) go just before the DDS
block, which its comment says stays last. Their numbers overlap
dev-latest files but no file name is shared.
Not taken from feature/advanceLoanProduct:
- Commit b72657703 changed the default DB password in
application.properties to a UAT database password. That merged
without a conflict; the dev-latest password lines are kept so local
setups keep working and the UAT password does not go into the
repository. The new transaction processor property from the same
file is kept.
Nothing from dev-latest or DDS is removed: no file deleted; only
LoanProductsApiResource (one supported parameter added),
LoanProductConfiguration (one constructor argument added) and
application.properties change existing lines. CommandWrapperBuilder,
changed on both sides, has no duplicate methods.
Verified with :fineract-provider:compileJava.
Branch renamed from merge/dds-into-dev-latest, since it now carries
both DDS and Advance Loan Product.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:29:13 +05:30
nitesh and Claude Opus 5.5
936e21dcf6
Merge branch 'feature/fd-interest-posting' into dev-latest
...
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
Brings the FD interest posting work into dev-latest:
- FD interest posting approval with pooled GL postings, posting period
shown per line, maturity postings surfaced, double-posting guard
- FD maturity approval report added and then reverted (maturity now
runs directly through the scheduler, no approval step)
- Pending user approval encodes the password and emails it
- New-tenant user personalisation, with the 'system' username kept so
scheduler jobs and COB can still find the system user
Conflicts resolved:
- SavingsAccountReadPlatformServiceImpl#retrieveAllSavingsDataForInterestPosting:
kept both exclusions. Recurring deposits (deposit_type_enum 300) stay
out of the generic interest posting job (dev-latest), and fixed
deposits are also left out when FD interest posting approval is
enabled (feature branch), so FD interest is not paid twice.
Comments from both sides merged.
- final-changelog-tenant.xml: kept dev-latest's 0592-0598 TDS and
recurring deposit changelogs and added
0593_fd_interest_posting_approval.xml after them. The file keeps its
name although its number clashes with 0593_tds_...: Liquibase tracks
changesets by file path, so renaming it would re-run it on databases
that already applied it. Changeset ids in the two files differ.
Verified with :fineract-provider:compileJava.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 12:23:55 +05:30
keshav
9df8e924a1
feat: recurring deposit product rules, lien, auto debit, missed installment penalty, and jobs
2026-10-12 10:25:12 +05:30
nitesh and Claude Sonnet 5
3d3ce92e93
feat(tenants): personalise seeded user credentials for a brand-new tenant
...
Adds TenantInitialUserProvisioner: right after the very first Liquibase
migration of a tenant that was never on Flyway, renames the three
seeded users (ids 1-3, otherwise shipping as mifos/system/interopUser
with the public default password) to <tenantIdentifier>_admin/_system/
_interop, with a password from fineract.tenant.initial-user-password
or a built-in default. An existing (Flyway-era) tenant already has its
real users and is left untouched. Wired through TenantDatabaseUpgradeService
and its two test configurations.
Also fixes the two pooled interest-posting services' system-user
lookup, which read username = 'system' — now wrong since that username
is personalised per tenant — to find the seeded system user by its
fixed id (2) instead.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-08 22:41:25 +05:30
nitesh and Claude Sonnet 5
88157ee9d6
Revert "Enforce same-user maker-checker restriction"
...
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
Reverts commits 2afd4aaf8 and 11a0d502b (both by anshul, same title).
Restores the CHECKER_SUPER_USER self-approval bypass in CommandSourceService
and the six *EditWritePlatformServiceJpaRepositoryImpl classes, and restores
the original isSameMakerCheckerEnabled()/isCheckerSuperUser()-gated same-user
check in PortfolioCommandSourceWritePlatformServiceImpl. Removes the
0588_persist_manually_enabled_maker_checker_permissions.xml migration added
alongside the restriction.
The unconditional same-user block these commits introduced was blocking
legitimate single-admin operation/testing (e.g. creating and then activating
a client as the same CHECKER_SUPER_USER), with no way to resolve it from
inside the app.
11a0d502b's only change (0012_seed_default_platform_api_client.xml comment
wording) is a no-op here: that exact text was independently reworded again by
82336cbe9 after 11a0d502b landed, so there is nothing left of 11a0d502b's
change to revert in that file.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-06 10:02:34 +05:30
Sonali Likhitkar
d1e94fd6a3
Add Fees-Penalty-Interest-Principal repayment transaction processor
2026-10-05 16:13:35 +05:30
anshul
2afd4aaf83
Enforce same-user maker-checker restriction
2026-09-30 17:07:16 +05:30
anshul
08519da8b1
feat: implement maker-checker workflow for user creation and update requests
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
2026-08-27 17:51:22 +05:30
Anshul Rathore
cad7f54c47
feat: implement maker-checker for product creation, add app user preferences, and introduce base interest rate management services.
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
2026-08-26 10:38:09 +05:30
Jaanu423 and Claude Sonnet 4.6
8bf28a8033
fix(cashier): prevent duplicate cashier lookup crash + add missing migrations
...
- DenominationBreakdownWriter: add ORDER BY mc.id DESC LIMIT 1 to all cashier
lookup queries so multiple cashier records per staff do not crash queryForObject
- CashReportApiResource: same LIMIT 1 fix for cashier-day-status and position endpoints
- 0311: fix m_client and m_savings_account NOT NULL columns (created_by, last_modified_by,
created_on_utc, last_modified_on_utc, cif_number, is_lien_allowed, etc.)
- 0312: create CASHIER role if missing + grant all 34 cashier permissions (incl FD/RD)
- 0313: add missing m_cash_exchange columns (cashier_id, is_reversed, reversed_by,
reversed_at, reverse_reason, customer_id_proof)
- 0314: unique constraint on m_cashiers.staff_id to prevent duplicate allocations
- application.properties: restore local postgres password after merge
- ExecuteOverdueAndCurrentStandingInstructionsTest: fix constructor call (5 args)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 18:23:31 +05:30
Nitesh Yadav
4735111a4f
fd product releated update code
2026-05-05 15:18:35 +05:30
Nitesh Yadav and Claude Sonnet 4.6
72adbf6305
add accountTypeOptions and customerSegmentOptions to savings/current/RD account templates
...
- Added accountTypeOptions and customerSegmentOptions fields to SavingsAccountData and RecurringDepositAccountData
- Added CodeValueReadPlatformService to SavingsAccountTemplateReadPlatformServiceImpl, CurrentAccountTemplateReadPlatformServiceImpl, and DepositAccountReadPlatformServiceImpl to fetch options from code values
- Added options to SAVINGS_ACCOUNT_RESPONSE_DATA_PARAMETERS and RD response parameters
- Updated SavingsConfiguration bean factory methods to pass new CodeValueReadPlatformService dependency
- Added validCheckSum for modified Liquibase changeset 0272
- Fixed AccountNumberGeneratorTest constructor to include GLAccountRepository and SavingsProductRepository
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-27 15:39:58 +05:30
DeathGun44 and Adam Saghy
045e3fe6ab
FINERACT-2449: Replace unbounded SimpleAsyncTaskExecutor with ThreadPoolTaskExecutor
2026-02-20 09:22:35 +00:00
Ralph Hopman and Adam Saghy
4467f91382
FINERACT-2496: Add Batch API Support for Creating Savings Account Charges
2026-02-19 11:33:27 +00:00
airajena and Adam Saghy
41da36b1f4
FINERACT-2028: Add audit logging for manual scheduler job execution
2026-02-19 11:25:49 +00:00
Aleksandar Vidakovic and Aleksandar Vidakovic
ae3e2a6343
FINERACT-2245: New command processing - mix taxonomy
2026-02-18 20:26:51 +01:00
Oleksii Novikov and Adam Saghy
1feb1d730f
FINERACT-2418: Extend disbursal and reage events with changed terms flag
2026-02-18 09:27:59 +00:00
airajena and Adam Saghy
2ee6f22713
FINERACT-2050: Fix client transfer loan status staying in TRANSFER_IN_PROGRESS
2026-02-17 12:06:12 +00:00
airajena and Adam Saghy
7daf4b8a84
FINERACT-2005: Prohibit password re-use with configurable global setting
2026-02-17 11:57:28 +00:00
054d18b020
FINERACT-2461: Replace SQL string concatenation with parameterized queries
...
Fix ~30 SQL injection vulnerabilities across datatable services by
replacing string concatenation with JDBC parameterized queries (?).
Files changed:
- DatatableWriteServiceImpl: parameterized DELETE, INSERT, SELECT queries
- DatatableUtil: parameterized dataScopedSQL, office join conditions
- GenericDataService/Impl: added parameterized fillResultsetRowData overload
- DatatableReadServiceImpl: parameterized countDatatableEntries
- WriteSurveyServiceImpl: removed duplicate vulnerable getPermissionSql
- DepositAccountReadPlatformServiceImpl: added pagination validation
Tests added:
- DatatableUtilTest: 11 tests for parameterized dataScopedSQL and joins
- DatatableWriteServiceImplTest: 7 tests for parameterized CRUD queries
- DatatableReadServiceImplCountTest: 1 test for parameterized count query
Do good with AI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 11:51:55 +00:00
Aleksandar Vidakovic and Aleksandar Vidakovic
2ff0c62f40
FINERACT-2246: New command processing - document management
2026-02-16 14:56:40 +01:00
Ralph Hopman and GitHub
8a795e83c7
FINERACT-2490: Add status field to StandingInstructionData serialization ( #5493 )
2026-02-14 13:05:54 -06:00
Adam Saghy and Soma Sörös
6269cbbb79
FINERACT-2421: Allow ProgressiveLoanInterestScheduleModel recalculation
...
Co-authored-by: Soma Sörös <soma.soros@dpc.hu >
2026-02-13 14:58:37 +01:00
Jose Alberto Hernandez and Aleksandar Vidakovic
8d560a1f7c
FINERACT-2332: SavingCOB infrastructure
2026-02-12 14:02:18 +01:00
nidhiii128 and Adam Saghy
6875645825
FINERACT-2474: Add Unit Tests for ClientReadPlatformServiceImpl
2026-02-11 12:26:11 +01:00
Saifulhuq and GitHub
f5951f1a7b
FINERACT-2461: Refactor EmailReadPlatformServiceImpl to use Prepared Statements ( #5417 )
...
* FINERACT-2461: Refactor EmailReadPlatformServiceImpl to use Prepared Statements
* FINERACT-2461: Add unit tests for EmailReadPlatformServiceImpl
2026-02-06 10:39:40 +01:00
Oleksii Novikov and Adam Saghy
41d859e68a
FINERACT-2421: Add pastDueDate to loan summary and event
2026-02-05 13:45:18 +01:00
8d064ddf6c
FINERACT-2452: New command processing - audit
...
Co-Authored-By: Adam Saghy <adam.saghy@dpc.hu >
Co-Authored-By: Yu Wati Nyi <nyi22y@mtholyoke.edu >
2026-02-05 12:55:05 +01:00
Adam Saghy
0fd0f977eb
FINERACT-2421: Allow hyphens in query params of Batch API calls
2026-01-30 11:37:58 +01:00
Attila Budai and Arnold Gálovics
82e6a237a6
FINERACT-2418: add origination api implementation
2026-01-28 17:01:57 +01:00
Aman-Mittal and Adam Saghy
8b24325f84
FINERACT-2421: Refractor redundant and some deprecated code as per new Java 21 style (Phase 5)
2026-01-23 12:15:46 +01:00
Attila Budai and Adam Saghy
f83ea7ea15
FINERACT-2418: create the loan origination module
2026-01-19 14:14:20 +01:00
Kengne-yvana and Adam Saghy
44b6b29dc5
FINERACT-2086: Fix ClassCastException in AccountAssociations and add unit tests
...
- Simplified conversion using Number.intValue() to handle Short and Integer types.
- Removed redundant null checks as per feedback.
- Added unit tests for type-safety verification.
2026-01-16 22:18:05 +01:00
Adam Saghy
633acf204b
FINERACT-2421: Allow reage preview API via Batch API
2026-01-15 13:35:54 +01:00
Attila Budai and Adam Saghy
442290ef92
FINERACT-2354: handle reamortization error code 500 issue on same disbursement day
2026-01-15 10:17:43 +01:00
mariiaKraievska and Adam Saghy
09031aa5a7
FINERACT-2412: Full term tranche - Schedule handling and Calculations
2026-01-13 18:06:12 +01:00
Víctor Romero and Adam Saghy
ed32c133cc
Revert "[#FINERACT-2422] standardize use of aging vs. ageing ( #5289 )"
...
This reverts commit 61034e6041 .
2026-01-09 16:12:22 +01:00
Kengne-yvana and GitHub
61034e6041
[#FINERACT-2422] standardize use of aging vs. ageing ( #5289 )
2026-01-08 10:43:21 -06:00
Adam Saghy
7ee0f7f4e4
FINERACT-2421: Improved Spring Batch context handling
2026-01-07 14:08:51 +01:00
Oleksii Novikov and Arnold Gálovics
2858316c71
FINERACT-2413: Improve re-amortization undo validation
2025-12-23 11:12:41 +01:00
mariiaKraievska and GitHub
8644d66fc0
FINERACT-2326: Fix configuration options for CORS ( #5210 )
2025-12-09 06:52:34 -06:00
Attila Budai and Adam Saghy
a3fdfb920d
FINERACT-2312: full term configuration added
2025-12-08 19:08:29 +01:00
Adam Saghy
8391614330
FINERACT-2326: Add configuration options for CORS handling
2025-12-08 10:23:17 +01:00
Jose Alberto Hernandez and Adam Saghy
a58bdf49b6
FINERACT-2354: Validation of Re-age amount during submission
2025-12-08 09:53:03 +01:00
Adam Saghy
4c22e2a9fc
FINERACT-2326: Force single-threaded execution of tenant database upgrades
2025-12-05 15:50:41 +01:00
Adam Saghy
c79c076ee6
FINERACT-2354: In case full transaction reprocessing, we need to recalculate the schedule as well
2025-11-13 08:44:22 +01:00
Oleksii Novikov and Adam Saghy
3efafa778e
FINERACT-2354: Introduce reaging preview API
2025-11-11 12:04:51 +01:00
Peter Kovacs and Adam Saghy
1b2801447b
FINERACT-2354: Reversal of re-aging transaction - remove restriction of reversal if there was payment after or on that day
2025-11-07 10:23:26 +01:00
Jose Alberto Hernandez and Adam Saghy
a849e9bae3
FINERACT-2398: Re-amortization Interest Handling configuration
2025-10-29 12:13:05 +01:00
mariiaKraievska and Adam Saghy
d21a1a98a2
FINERACT-2354: First step - basic implementation of re-aging for Interest bearing loans - Default Behavior, interestRecalculation = true, without dueDate change
2025-10-27 14:22:46 +01:00