Commit Graph

19 Commits

Author SHA1 Message Date
Matt f1a462094a Add payment date selection for dues payments and improve member viewing
Build And Push Image / docker (push) Successful in 3m23s Details
- Add payment date dialog when marking dues as paid with date validation
- Replace direct member view emission with dedicated ViewMemberDialog component
- Add backend support for custom payment dates in mark-dues-paid endpoint
- Prevent future date selection for payment records
- Improve user workflow for viewing and editing member details
2025-08-11 15:41:33 +02:00
Matt abf6ade8cd Add comprehensive dues tracking with overdue calculations and enhanced UI
Build And Push Image / docker (push) Successful in 3m17s Details
2025-08-11 15:29:42 +02:00
Matt d9ef5bbdeb feat: Enhanced dues overdue system with detailed time tracking
Build And Push Image / docker (push) Successful in 2m42s Details
- Enhanced update-overdue-statuses API to calculate and return specific overdue durations (years/months)
- Updated overdue-count API to provide detailed member information with overdue durations
- Enhanced DuesOverdueBanner component to display expandable list of overdue members with their specific overdue time
- Added automatic marking of members as inactive when dues are over 1 year overdue
- Improved UI to show 'Dues Overdue - X Members Affected' with detailed breakdown
- Members with overdue dues now display exact time overdue (e.g., '2 years 3 months overdue')
- Added proper TypeScript interfaces for overdue member data
- Enhanced banner shows inactive status and overdue duration for each affected member
2025-08-10 23:42:17 +02:00
Matt ff85d1c722 Add overdue dues management system with notifications and status updates
Build And Push Image / docker (push) Successful in 2m55s Details
- Create DuesOverdueBanner component for displaying overdue member counts
- Add API endpoints for overdue count retrieval and status updates
- Integrate overdue dues banner into admin and member list dashboards
- Implement handlers for viewing overdue members and updating statuses
- Add dues management section to admin dashboard
2025-08-10 23:29:48 +02:00
Matt d3c3a865ba Add dues management system with UI improvements
Build And Push Image / docker (push) Successful in 3m3s Details
- Add BoardDuesManagement and DuesActionCard components
- Create API endpoints for dues status tracking and payment marking
- Integrate dues management section into board dashboard
- Move create portal account button to member card action buttons
- Add edit button to member view dialog
- Implement member update handlers and navigation between views
2025-08-10 23:19:48 +02:00
Matt ecae3795ee Add global branding and implement member ID system
Build And Push Image / docker (push) Successful in 3m2s Details
- Add MonacoUSA logo component with global header placement
- Implement member ID generation and migration system
- Create profile page and improve dashboard navigation
- Add member ID as payment reference in dues banner
- Enable support contact functionality with pre-filled email
2025-08-10 16:49:23 +02:00
Matt 794b6a09f0 Fix email verification domain and membership fee amount
Build And Push Image / docker (push) Successful in 3m7s Details
- Update domain config to use portal.monacousa.org for verification links
- Correct membership fee from €50 to €150/year in welcome emails
- Add password setup link to verification success page
- Include registration date in welcome email template
2025-08-09 18:10:33 +02:00
Matt df1ff15975 Enhance member deletion and implement template-based email system
Build And Push Image / docker (push) Successful in 2m50s Details
- Add Keycloak user deletion to member removal process
- Implement Handlebars email templates for verification, password reset, and dues reminders
- Improve JWT secret configuration with multiple fallbacks
- Add getMemberById function and enhance error handling
- Update Dockerfile to include email templates in production build
2025-08-09 17:36:35 +02:00
Matt bff89bd89d Add JWT configuration and improve email error handling
Build And Push Image / docker (push) Successful in 2m51s Details
- Add jwtSecret to runtime config with fallback to sessionSecret
- Enhance email error tracking in portal account creation API
- Fix jsonwebtoken imports and improve type safety
- Include detailed email error information in API responses
2025-08-09 16:55:59 +02:00
Matt c4a0230f42 Fix portal account creation and improve email handling
Build And Push Image / docker (push) Successful in 2m56s Details
- Add explicit POST method to portal account creation API call
- Improve error handling with specific messages for different failure cases
- Remove SMTP verification step that was causing issues with some servers
- Make email sending non-critical to portal account creation success
- Add better response data handling for keycloak_id
- Add integration review documentation
2025-08-09 16:13:52 +02:00
Matt dcb7840825 Make email service initialization asynchronous
Build And Push Image / docker (push) Successful in 3m10s Details
Convert getEmailService() to async function and update all callers to use await.
Replace synchronous require() with dynamic import() for admin-config module.
Add SMTP config loading to admin configuration dialog.
2025-08-09 15:50:54 +02:00
Matt 4ec05e29dc Add email verification system for user registration
Build And Push Image / docker (push) Successful in 3m1s Details
- Add SMTP configuration UI in admin panel with test functionality
- Implement email verification workflow with tokens and templates
- Add verification success/expired pages for user feedback
- Include nodemailer, handlebars, and JWT dependencies
- Create API endpoints for email config, testing, and verification
2025-08-08 22:51:14 +02:00
Matt 5535b7905d #### __1. Role-Based Security Architecture__
Build And Push Image / docker (push) Successful in 2m58s Details
- Replaces group-based tiers with proper Keycloak realm roles
- `monaco-user`, `monaco-board`, `monaco-admin` roles
- Backward compatibility with existing group system

#### __2. Advanced User Management__

- Comprehensive user profile synchronization
- Membership data stored in Keycloak user attributes
- Bidirectional sync between NocoDB and Keycloak

#### __3. Session Security & Monitoring__

- Real-time session tracking and management
- Administrative session control capabilities
- Enhanced security analytics foundation

#### __4. Email Workflow System__

- Multiple email types: DUES_REMINDER, MEMBERSHIP_RENEWAL, WELCOME, VERIFICATION
- Customizable email parameters and lifespans
- Advanced email template support

#### __5. Seamless Migration Path__

- All existing functionality continues to work
- New users automatically get realm roles
- Gradual migration from groups to roles
- Zero breaking changes

### 🔧 __What You Can Do Now__

#### __For New Users:__

- Public registrations automatically assign `monaco-user` role
- Portal account creation syncs member data to Keycloak attributes
- Enhanced email verification and welcome workflows

#### __For Administrators:__

- Session management and monitoring capabilities
- Advanced user profile management with member data sync
- Comprehensive role assignment and management
- Enhanced email communication workflows

#### __For Developers:__

- Use `hasRole('monaco-admin')` for role-based checks
- Access `getAllRoles()` for debugging and analytics
- Enhanced `useAuth()` composable with backward compatibility
- Comprehensive TypeScript support throughout

### 🛡️ __Security & Reliability__

- __Backward Compatibility__: Existing users continue to work seamlessly
- __Enhanced Security__: Proper realm role-based authorization
- __Error Handling__: Comprehensive error handling and fallbacks
- __Type Safety__: Full TypeScript support throughout the system
2025-08-08 19:40:13 +02:00
Matt 9f9cb7db53 comprehensive diagnostic and fix system for the "undefined" member display issue
Build And Push Image / docker (push) Successful in 2m49s Details
2025-08-07 23:57:18 +02:00
Matt 3f81d0dd86 fixed the member creation functionality that was failing with validation errors. Here's what I accomplished
Build And Push Image / docker (push) Successful in 2m52s Details
2025-08-07 23:44:28 +02:00
Matt dcce2050ee resolved all member management issues, including the critical member creation bug.
Build And Push Image / docker (push) Failing after 2m36s Details
2025-08-07 23:13:31 +02:00
Matt 863ad9abe7 fixed both the member edit display issue and the flag positioning problems in the nationality input
Build And Push Image / docker (push) Successful in 2m53s Details
2025-08-07 23:05:46 +02:00
Matt d36209818a Migrate member fields to snake_case naming convention
Build And Push Image / docker (push) Successful in 3m11s Details
Convert field names from space-separated format to snake_case across
member API endpoints and validation logic. Add migration guide for
reference.
2025-08-07 21:50:02 +02:00
Matt af99ea48e2 Add member management system with NocoDB integration
Build And Push Image / docker (push) Successful in 3m5s Details
- Add member CRUD operations with API endpoints
- Implement member list page with card-based layout
- Add member creation and viewing dialogs
- Support multiple nationalities with country flags
- Include phone number input with international formatting
- Integrate NocoDB as backend database
- Add comprehensive member data types and utilities
2025-08-07 19:20:29 +02:00