Fix critical member management issues: dues tracking, member IDs, and profile display
All checks were successful
Build And Push Image / docker (push) Successful in 2m20s

- Fix dues payment logic to automatically calculate payment_due_date as 1 year from payment date
- Remove redundant dues_paid_until field and replace with payment_due_date throughout
- Implement member ID generation system with format MUSA-YYYY-XXXX
- Create migration endpoints for generating member IDs and fixing payment dates
- Update admin members page to display actual member_id from database
- Ensure ProfileAvatar components use correct member_id field
- Add support for profile images in list and grid views with initials fallback
- Fix countries export alias for backward compatibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-04 18:43:57 +02:00
parent 67bb9e32ac
commit d34d16fda1
8 changed files with 326 additions and 24 deletions

View File

@@ -509,7 +509,7 @@ const loadPayments = async () => {
// If member has dues due/overdue, create a pending payment record
if (member.dues_status === 'Due' || member.dues_status === 'Overdue') {
const dueDate = member.dues_paid_until ? new Date(member.dues_paid_until) : null;
const dueDate = member.payment_due_date ? new Date(member.payment_due_date) : null;
if (dueDate) {
paymentRecords.push({
id: transactionCounter++,