Refactor routes to use cleaner URL structure with order_id parameter

This commit is contained in:
kbe
2025-09-06 03:12:11 +02:00
parent 01b545c83e
commit d9d43f45e5
11 changed files with 75 additions and 101 deletions

View File

@@ -3,7 +3,7 @@
# This controller now primarily handles legacy redirects and backward compatibility
# Most ticket creation functionality has been moved to OrdersController
class TicketsController < ApplicationController
before_action :authenticate_user!, only: [ :payment_success, :payment_cancel ]
before_action :authenticate_user!, only: [ :show, :ticket_view ]
before_action :set_event, only: [ :checkout, :retry_payment ]
@@ -23,37 +23,20 @@ class TicketsController < ApplicationController
redirect_to event_path(@event.slug, @event), alert: "Aucun billet en attente de paiement"
end
# Redirect to order-based payment success
def payment_success
redirect_to order_payment_success_path(session_id: params[:session_id])
end
# Redirect to order-based payment cancel
def payment_cancel
redirect_to order_payment_cancel_path
end
# Redirect retry payment to order system
def retry_payment
@event = Event.includes(:ticket_types).find(params[:id])
# Look for draft order for this event
order = current_user.orders.find_by(event: @event, status: "draft")
if order&.can_retry_payment?
redirect_to retry_payment_order_path(order)
else
redirect_to event_path(@event.slug, @event),
alert: "Aucune commande disponible pour un nouveau paiement"
end
end
def show
@ticket = current_user.orders.joins(:tickets).find(params[:ticket_id])
@event = @ticket.event
rescue ActiveRecord::RecordNotFound
redirect_to dashboard_path, alert: "Billet non trouvé"
end
def ticket_view
@ticket = current_user.orders.joins(:tickets).find(params[:ticket_id])
@event = @ticket.event
rescue ActiveRecord::RecordNotFound
redirect_to dashboard_path, alert: "Billet non trouvé"
end
private
def set_event