Add duplication options with JavaScript modal and conditional ticket type cloning

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
kbe
2025-09-15 21:20:22 +02:00
parent aa68885b84
commit a34eb7aa38
5 changed files with 189 additions and 10 deletions

View File

@@ -103,7 +103,7 @@ class Event < ApplicationRecord
end
# Duplicate an event with all its ticket types
def duplicate
def duplicate(clone_ticket_types: true)
# Duplicate the event
new_event = self.dup
new_event.name = "Copie de #{name}"
@@ -114,11 +114,13 @@ class Event < ApplicationRecord
Event.transaction do
if new_event.save
# Duplicate all ticket types
ticket_types.each do |ticket_type|
new_ticket_type = ticket_type.dup
new_ticket_type.event = new_event
new_ticket_type.save!
# Duplicate all ticket types if requested
if clone_ticket_types
ticket_types.each do |ticket_type|
new_ticket_type = ticket_type.dup
new_ticket_type.event = new_event
new_ticket_type.save!
end
end
new_event
else