refactor: Move order creation to event-scoped routes and OrdersController

- Add event-scoped order routes: GET/POST /events/:slug.:id/orders
- Move ticket name collection and order creation logic from TicketsController to OrdersController
- Update OrdersController#new to handle both order summary and name collection
- Add OrdersController#create with full order and ticket creation logic
- Add set_event and order_params methods to OrdersController
- Maintain RESTful design with proper event context

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kbe
2025-09-04 01:42:54 +02:00
parent 0f6d75b1e8
commit 3ba5710d8f
2 changed files with 101 additions and 21 deletions

View File

@@ -38,9 +38,9 @@ Rails.application.routes.draw do
get "events", to: "events#index", as: "events"
get "events/:slug.:id", to: "events#show", as: "event"
# === Orders ===
get "orders/new", to: "orders#new", as: "order_new"
# === Orders (scoped to events) ===
get "events/:slug.:id/orders/new", to: "orders#new", as: "event_order_new"
post "events/:slug.:id/orders", to: "orders#create", as: "event_order_create"
resources :orders, only: [:show] do
member do
@@ -53,11 +53,7 @@ Rails.application.routes.draw do
get "orders/payments/success", to: "orders#payment_success", as: "order_payment_success"
get "orders/payments/cancel", to: "orders#payment_cancel", as: "order_payment_cancel"
# === Tickets ===
get "tickets/new", to: "tickets#new", as: "ticket_new"
post "tickets/create", to: "tickets#create", as: "ticket_create"
# Keep these for now but they redirect to order system
# Legacy ticket routes - redirect to order system
get "events/:slug.:id/tickets/checkout", to: "tickets#checkout", as: "ticket_checkout"
post "events/:slug.:id/tickets/retry", to: "tickets#retry_payment", as: "ticket_retry_payment"
get "payments/success", to: "tickets#payment_success", as: "payment_success"