feat: Implement event image upload system for promoters

- Add Active Storage migrations for file attachments
- Update Event model to handle image uploads with validation
- Replace image URL fields with file upload in forms
- Add client-side image preview with validation
- Update all views to display uploaded images properly
- Fix JSON serialization to prevent stack overflow in API
- Add custom image validation methods for format and size
- Include image processing variants for different display sizes
- Fix promotion code test infrastructure and Stripe configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kbe
2025-09-30 00:41:03 +02:00
parent be7b3d5c18
commit 6be8b95ed3
22 changed files with 450 additions and 36 deletions

View File

@@ -9,14 +9,11 @@
### Medium Priority
- [ ] feat: Promoter system with event creation, ticket types creation and metrics display
- [ ] feat: Multiple ticket types (early bird, VIP, general admission)
- [ ] feat: Refund management system
- [ ] feat: Real-time sales analytics dashboard
- [ ] feat: Guest checkout without account creation
- [ ] feat: Seat selection with interactive venue maps
- [ ] feat: Dynamic pricing based on demand
- [ ] feat: Profesionnal account. User can ask to change from a customer to a professionnal account to create and manage events.
- [ ] feat: User can choose to create a professionnal account on sign-up page to be allowed to create and manage events
- [ ] feat: Payout system for promoters (automated/manual payment processing)
- [ ] feat: Platform commission tracking and fee structure display
- [ ] feat: Tax reporting and revenue export for promoters
@@ -53,7 +50,6 @@
## 🚧 Doing
- [ ] feat: Promotion code on ticket
- [ ] feat: Page to display all tickets for an event
- [ ] feat: Add a link into notification email to order page that display all tickets
@@ -65,7 +61,11 @@
- [x] Add login functionality
- [x] refactor: Moving checkout to OrdersController
- [x] feat: Payment gateway integration (Stripe) - PayPal not implemented
- [x] feat: Profesionnal account. User can ask to change from a customer to a professionnal account to create and manage events.
- [x] feat: Digital tickets with QR codes
- [x] feat: Ticket inventory management and capacity limits
- [x] feat: Event discovery with search and filtering
- [x] feat: Multiple ticket types (early bird, VIP, general admission)
- [x] feat: Email notifications (purchase confirmations, event reminders)
- [x] feat: Promotion code on ticket
- [x] feat: User can choose to create a professionnal account on sign-up page to be allowed to create and manage events