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.

NP Updated by Navya P. 15 days ago Actions #1

  • Tracker changed from Bug to Feature

NP Updated by Navya P. 15 days ago Actions #2

  • Status changed from New to In Progress

NP Updated by Navya P. 15 days ago Actions #3

  • Status changed from In Progress to Resolved
  • Resolved By set to Navya P.

Resolved across 3 repos:

  • nuvita-hr cb3aaa8 (feat/canteen-employee-read) -- new People > Subsidy rules CRUD page.
  • nuvita-shared-kernel fe4411b (feat/canteen-dietary-order-http-client) -- IHrServiceContract.GetSubsidyRulesAsync.
  • nuvita-canteen-management c84bba0 (integration/canteen-v1) -- read-only switch, canteen.subsidy_rules dropped.

Backend 1050/1052 (2 pre-existing unrelated failures), frontend 570/570, HR backend 1239/1239, HR frontend 771/773 (2 pre-existing unrelated). Data copy (8 rows) verified before the drop.

Actions

Also available in: PDF Atom