ClubLedger/static
Claude acd8ff3fd0
Add withdrawal feature to cashier tab
Cashiers can process credit withdrawals (cash-back) for members:
- Requires member PIN to authorize
- Always checks sufficient balance (overdraft not allowed for withdrawals)
- Appears as 'withdrawal' type in ledger, statement, and on receipt
- Receipt opens automatically, same as top-up/charge

Backend:
- migrate_db() now also recreates ledger_entries with type constraint
  extended to include 'withdrawal' (existing rows preserved)
- POST /withdrawal endpoint (cashier_user required)
- Receipt label map updated to include Withdrawal

Frontend:
- Cashier tab now shows two panels side-by-side: Top Up and Withdrawal
- Each panel has its own message area so they don't overwrite each other
- Withdrawal panel includes PIN field; top-up panel unchanged

https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7
2026-05-30 14:31:16 +00:00
..
app.js Add withdrawal feature to cashier tab 2026-05-30 14:31:16 +00:00
bar.html Remove product search from bar tab 2026-05-30 08:52:18 +00:00
bar.js Remove product search from bar tab 2026-05-30 08:52:18 +00:00
cashier.html Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
cashier.js Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
common.js Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
index.html Add withdrawal feature to cashier tab 2026-05-30 14:31:16 +00:00
style.css Add withdrawal feature to cashier tab 2026-05-30 14:31:16 +00:00