Commit Graph
9 Commits
Author SHA1 Message Date
nitesh 42424dff8b feat(security): tenant-level nav menu access control panel
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
Adds the frontend half of the per-tenant menu-access ceiling
(TenantMenuAccessApiResource on the backend): a bank cannot show a top-nav
section the platform operator has capped, no matter what any role inside
that tenant grants itself — closing the gap where a role carrying
ALL_FUNCTIONS (as "Clerk" was found to, in two tenants this session)
bypassed every ordinary MENU_.../SIDEBAR_... permission check.

- tenant-menu-access.service.ts: loads the current tenant's list once,
  into a plain Set (not an Observable the directive would have to
  subscribe to, since mifosxHasPermission's setter runs synchronously).
  A failed load is treated as "nothing disabled" so a network hiccup on
  login never hides the whole nav.
- has-permission.directive.ts: checks the tenant's ceiling first, ahead of
  the ALL_FUNCTIONS bypass — that ordering is the actual fix.
- shell.component.ts/html: the nav now waits on the list being loaded
  before rendering at all, so a disabled menu is never shown and then
  hidden a moment later.
- New standalone platform-admin/menu-access screen (#/platform-admin/
  menu-access), reachable without logging in — its own X-Api-Key is the
  real boundary, checked on the backend, not this route. Lets the
  operator pick any tenant and toggle its menu list. Redesigned per
  request: full-width layout, icon-matched toggle tiles (same icon per
  item as the real nav), live enabled-count, connection status.
- Loan Origination and Investment now use their own MENU_LOAN_ORIGINATION
  / MENU_INVESTMENT codes (see backend 0542) instead of sharing
  MENU_ADVANCES / MENU_RBI, so all 27 nav items are independently
  controllable from this screen.

Also: src/assets/env.js — restored 'socity_bank' to
fineractPlatformTenantIds. The tenant now exists in the tenant-store
database; the comment explaining its earlier removal was stale.
2026-09-11 15:13:29 +05:30
Shubham KumarandGitHub a07a89a5d7 chore: add MPL license headers to all source files (#2977) 2026-01-10 10:44:23 -06:00
AllsVeamandGitHub 6ee9f4d4d2 WEB-233: Improve the OIDC integration with 2FA (#2616) 2025-09-01 13:55:35 -06:00
Ralph HopmanandAdam Saghy cac1d11ad7 build: Use prettier for typescript
Stop ignoring .ts files in prettier and fix existing issues.
2025-01-15 11:59:30 +00:00
Jose Alberto HernandezandArnold Gálovics 14ceb4f3fd Fineract backend settings with environment variables 2022-07-13 16:40:23 +02:00
Jonathan XuandAbhay Chawla 2feee9d8a2 feat: add not found component (#327)
Fixes #110
2018-11-18 14:46:43 +05:30
Abhay ChawlaandGitHub bf8e6f1273 refractor: app module and settings (#293)
* Refractor settings component.
* Improve responsiveness of settings component.
* Add comments.

Fixes #292
2018-08-12 15:45:48 +05:30
abhay_1806 fc7ae1d0ba feat: add app shell (angular-material)
Add app shell built using angular-material and flex-layout. Refractor
code due to configuration changes.

Fixes #52
2018-06-23 20:06:32 +05:30
anweshknayak 5eedfa13bd initial codebase 2018-05-28 21:01:27 +05:30