Enhanced TicketType model with helper methods and better validations So the full context is: ## Backend Implementation - Enhanced TicketType model with helper methods and better validations - New Promoter::TicketTypesController with full authorization - Sales status tracking (draft, available, upcoming, expired, sold_out) - New Promoter::TicketTypesController with full authorization - Safe calculation methods preventing nil value errors - Sales status tracking (draft, available, upcoming, expired, sold_out) ## Frontend Features - Modern responsive UI with Tailwind CSS styling - Interactive forms with Stimulus controller for dynamic calculations - Revenue calculators showing potential, current, and remaining revenue - Status indicators with appropriate colors and icons - Buyer analytics and purchase history display ## JavaScript Enhancements - New TicketTypeFormController for dynamic pricing calculations - Real-time total updates as users type price/quantity - Proper French currency formatting - Form validation for minimum quantities based on existing sales ## Bug Fixes Fixed nil value errors in price_euros method when price_cents is nil Added defensive programming for all calculation methods Graceful handling of incomplete ticket types during creation Proper default values for new ticket type instances ## Files Added/Modified - app/controllers/promoter/ticket_types_controller.rb (new) - app/javascript/controllers/ticket_type_form_controller.js (new) - app/views/promoter/ticket_types/*.html.erb (4 new view files) - app/models/ticket_type.rb (enhanced with helper methods) - config/routes.rb (added nested ticket_types routes) - db/migrate/*_add_requires_id_to_ticket_types.rb (new migration) ## Integration - Seamless integration with existing event management system - Updated promoter event show page with ticket management link - Proper scoping ensuring promoters only manage their own tickets - Compatible with existing ticket purchasing and checkout flow
34 lines
1.1 KiB
JavaScript
Executable File
34 lines
1.1 KiB
JavaScript
Executable File
// This file is auto-generated by ./bin/rails stimulus:manifest:update
|
|
// Run that command whenever you add a new controller or create them with
|
|
// ./bin/rails generate stimulus controllerName
|
|
|
|
import { application } from "./application"
|
|
|
|
import LogoutController from "./logout_controller";
|
|
application.register("logout", LogoutController);
|
|
|
|
import CounterController from "./counter_controller"
|
|
application.register("counter", CounterController);
|
|
|
|
import FlashMessageController from "./flash_message_controller"
|
|
application.register("flash-message", FlashMessageController);
|
|
|
|
import TicketSelectionController from "./ticket_selection_controller"
|
|
application.register("ticket-selection", TicketSelectionController);
|
|
|
|
import HeaderController from "./header_controller"
|
|
application.register("header", HeaderController);
|
|
|
|
import EventFormController from "./event_form_controller"
|
|
application.register("event-form", EventFormController);
|
|
|
|
import TicketTypeFormController from "./ticket_type_form_controller"
|
|
application.register("ticket-type-form", TicketTypeFormController);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|