Project

General

Profile

Edit Copy Actions

Feature #10239

open

Spice Levels and Accountant Role Features

Added by Sai Priyatham Sadineni about 21 hours ago. Updated about 21 hours ago.

Status:
Resolved
Priority:
Normal
Start date:
08/05/2026
Due date:
08/05/2026 (1 day late)
% Done:

100%

Estimated time:
8:00 h
Spent time:

Description

Spice Level Sets — Backend

Added SpiceLevelSet model with ordered levels (stable key + guest-facing label + description), tenant scoping, and soft delete
Replaced per-item spiceLevels/spiceLevelData with a spiceLevelSet reference, re-exposed as virtuals so POS, KOT, printers and the customer app keep working unchanged
Built full CRUD endpoints, plus bulk assign, unassign, and a per-set menu-items listing
Added guardrails: duplicate level keys rejected, sets in use can't be deleted, one default per tenant, spiceLevel validated against its set
Wrote a multi-tenant migration script that collapses identical level lists into shared sets and clears legacy fields
Spice Level Sets — Admin UI

Added a Spice Levels tab under Menu with a management page for creating and editing sets
Built a set editor with reorderable levels (mild → hottest) and a default-set toggle
Added a details dialog on card click showing levels, assigned items, and per-item removal
Added an add-items dialog with search and bulk apply
Replaced the item dialog's spice editor with a set picker showing a live level preview
Spice Level Sets — Customer App

Made the ordering flow render each item's actual spice scale instead of a hardcoded four-option list
Made the slider grid size to the level count so 2- and 5-level scales lay out correctly
Carried spice options onto cart items so editing spice later shows the same scale
Accountant Role — Backend

Added accountant to the user roles enum and to the notification target roles
Added it to the assignable roles list returned by the auth endpoint
Granted access to the reports controller alongside admin and manager
Added a notification-preferences row defaulting all operational alerts to off, since it's a back-office role
Accountant Role — Admin UI

Gave it sidebar access to Reports, Expenses, Disputes, Assets, Attendance, Profile and Help & Guide only
Restructured the tenant routes so back-office roles can't reach operational screens by typing a URL
Excluded it from the dashboard and made Reports its landing page on login, tenant switch, role switch, logo click and back-navigation fallback
Added it to the Users page role options and the Attendance page role filter
Added its row to the settings notification-preferences defaults
Bug fixes

Fixed stale menu-item list — assigned items weren't showing as selected when reopening the dialog
Fixed the add dialog offering items already in other sets, which silently moved them
Collapsed selected-item chips past two into a "+N" count
Fixed validFrom being silently dropped when editing a menu item


Add

Subtasks


Add

Related issues

Actions #1

Updated by Sai Priyatham Sadineni about 21 hours ago

  • Status changed from New to Resolved
Edit Copy Actions

Also available in: Atom PDF