Store ledger for advanced/deferred payments. Member registry, cashier, point of sale module, and transaction history.
Find a file
Claude 68a35e5bff
Split staff role into cashier/pos-staff; fix admin tab visibility
Roles:
- cashier: Members + Cashier (top-up) tabs; POST /topup enforced at API level
- pos-staff: Members + Bar (charge) tabs; POST /charge enforced at API level
- admin: all tabs including Admin panel

Changes:
- migrate_db() recreates staff_accounts with new CHECK constraint and
  converts any existing 'staff' rows to 'pos-staff' on startup
- cashier_user / pos_user FastAPI dependencies added; applied to /topup and /charge
- Role dropdowns in admin panel updated to the three new values
- startApp() hides irrelevant tabs per role on login
- doLogout() resets all tab visibility so the next login starts clean
- fmtRole() formats role names ('pos-staff' → 'POS Staff') in the accounts table

https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7
2026-05-30 14:19:41 +00:00
docs deployment.md: add Part 7 explaining internet isolation and NAT protection 2026-05-30 12:15:46 +00:00
static Split staff role into cashier/pos-staff; fix admin tab visibility 2026-05-30 14:19:41 +00:00
.gitignore Initial commit 2026-05-30 12:01:08 +07:00
LICENSE Initial commit 2026-05-30 12:01:08 +07:00
main.py Split staff role into cashier/pos-staff; fix admin tab visibility 2026-05-30 14:19:41 +00:00
README.md Initial commit 2026-05-30 12:01:08 +07:00
requirements.txt Add store-credit web app (FastAPI + SQLite) 2026-05-30 05:21:01 +00:00
run.bat WINDOWS ONLY 2026-05-30 20:30:03 +07:00
run.sh run.sh: remove --quiet from pip so install errors are visible 2026-05-30 11:47:23 +00:00

ClubLedger

Store ledger for advanced/deferred payments. Member registry, cashier, point of sale module, and transaction history.