Project

General

Profile

Actions

Feature #669

open
NP

HR owns subsidy rules; Canteen employee-meals + settings become read-only

Feature #669: HR owns subsidy rules; Canteen employee-meals + settings become read-only

Added by Navya P. 15 days ago. Updated 15 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
10/29/2026
Due date:
% Done:

0%

Estimated time:
Resolved By:

Description

Moved subsidy-rule ownership from Canteen to HR per product decision (navigate: HR > People > Subsidy rules):

  • HR: new People section page, full CRUD (SubsidyRule entity, service, controller, internal cross-module controller for canteen to read, portal page/modal/queries/nav item, 21 new backend tests).
  • One-time data copy: 8 existing canteen.subsidy_rules rows copied into hr.subsidy_rules (tagged migration:canteen-subsidy-rules-2026-10-29), canteen table then dropped -- copy-then-retire, per explicit decision.
  • shared-kernel: IHrServiceContract gains GetSubsidyRulesAsync (default-bodied for additivity, matches GetTrainingSessionsForEmployeeAsync precedent).
  • Canteen: Employee-meals subsidy panel and Settings > Subsidy tab become read-only, sourced from a cached HrSubsidyRuleDirectory (5-min TTL, tenant-qualified key) instead of local writes; EmployeeCardResolver rewired off the cached directory; local SaveSubsidyRuleAsync/ArchiveSubsidyRuleAsync removed.

Live-pricing-critical path: POS resolves a subsidy rule per employee sale, synchronously, unlocked, multiple times per transaction -- resolve-once-trust-for-the-sale semantics preserved across the rewiring.

Actions

Also available in: PDF Atom