10 Commits

Author SHA1 Message Date
f0dbea1af5 Add Line ID field to member lifecycle 2026-02-10 15:31:29 +08:00
329877b5bf Add receipt numbers to membership payments 2026-02-05 16:41:04 +08:00
8fc4adb6ad Handle null approval timestamps on member dashboard 2026-01-25 18:58:56 +08:00
65de7d9019 Move disability status card to payment history 2026-01-25 05:31:01 +08:00
36a4e87f3f Add fee type to membership payments display 2026-01-25 05:10:01 +08:00
b528a63387 Add identity type display to member dashboard
Shows 病友 or 家長/父母 in the membership info section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 04:35:30 +08:00
2d925e0b47 Add disability status card to member dashboard
- Shows approval status (approved/pending/rejected/not applied)
- Green background when approved with "會費套用 50% 優惠" text
- Links to profile edit for uploading certificate

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 04:00:20 +08:00
642b879dd4 Add membership fee system with disability discount and fix document permissions
Features:
- Implement two fee types: entrance fee and annual fee (both NT$1,000)
- Add 50% discount for disability certificate holders
- Add disability certificate upload in member profile
- Integrate disability verification into cashier approval workflow
- Add membership fee settings in system admin

Document permissions:
- Fix hard-coded role logic in Document model
- Use permission-based authorization instead of role checks

Additional features:
- Add announcements, general ledger, and trial balance modules
- Add income management and accounting entries
- Add comprehensive test suite with factories
- Update UI translations to Traditional Chinese

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 09:56:01 +08:00
c7a1f9130e Refactor 'My Membership' page scripts
- Replaced inline JS function generation in loops with Alpine.js event handlers.
- Improved safety of rejection reason output using json_encode.
2025-11-28 00:21:57 +08:00
13bc6db529 Initial commit 2025-11-20 23:21:05 +08:00