diff --git a/app/controllers/tickets_controller.rb b/app/controllers/tickets_controller.rb index 2ccd1e9..de943c1 100644 --- a/app/controllers/tickets_controller.rb +++ b/app/controllers/tickets_controller.rb @@ -46,11 +46,9 @@ class TicketsController < ApplicationController @cart_data = session[:pending_cart] || {} if @cart_data.empty? - redirect_to event_path(params[:slug], params[:id]), alert: "Aucun billet sélectionné" + redirect_to event_path(@event.slug, @event), alert: "Aucun billet sélectionné" return end - - @event = Event.includes(:ticket_types).find(params[:id]) success = false ActiveRecord::Base.transaction do @@ -89,12 +87,12 @@ class TicketsController < ApplicationController session.delete(:pending_cart) redirect_to checkout_order_path(@order) else - redirect_to ticket_new_path(@event.slug, @event.id) + redirect_to ticket_new_path end rescue => e error_message = e.message.present? ? e.message : "Erreur inconnue" flash[:alert] = "Une erreur est survenue: #{error_message}" - redirect_to ticket_new_path(params[:slug], params[:id]) + redirect_to ticket_new_path end # Redirect to order-based checkout @@ -147,7 +145,21 @@ class TicketsController < ApplicationController private def set_event - @event = Event.includes(:ticket_types).find(params[:id]) + event_id = params[:id] || session[:event_id] + + Rails.logger.debug "TicketsController#set_event - params[:id]: #{params[:id].inspect}, session[:event_id]: #{session[:event_id].inspect}" + + unless event_id + Rails.logger.error "TicketsController#set_event - No event ID found" + redirect_to events_path, alert: "Aucun événement spécifié" + return + end + + @event = Event.includes(:ticket_types).find(event_id) + Rails.logger.debug "TicketsController#set_event - Found event: #{@event.id} - #{@event.name}" + rescue ActiveRecord::RecordNotFound + Rails.logger.error "TicketsController#set_event - Event not found with ID: #{event_id}" + redirect_to events_path, alert: "Événement non trouvé" end def ticket_params diff --git a/app/views/orders/new.html.erb b/app/views/orders/new.html.erb index ff4e2eb..df85ca3 100644 --- a/app/views/orders/new.html.erb +++ b/app/views/orders/new.html.erb @@ -14,9 +14,9 @@

<%= @event.name %>

<%= @event.venue_name %>

- <% if @event.starts_at %> + <% if @event.start_time %>

- <%= @event.starts_at.strftime("%d/%m/%Y à %H:%M") %> + <%= @event.start_time.strftime("%d/%m/%Y à %H:%M") %>

<% end %>
diff --git a/app/views/tickets/new.html.erb b/app/views/tickets/new.html.erb index dc6398e..1893653 100755 --- a/app/views/tickets/new.html.erb +++ b/app/views/tickets/new.html.erb @@ -98,7 +98,7 @@ les billets.

- <%= form_with url: ticket_create_path(@event.slug, @event), method: :post, local: true, class: "space-y-8" do |form| %> + <%= form_with url: ticket_create_path, method: :post, local: true, class: "space-y-8" do |form| %> <% if @tickets_needing_names.any? %>