6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'app/services/spree_cm_commissioner/ticket_transfers/complete.rb', line 6
def call(ticket_transfer:)
raise I18n.t('ticket_transfer.transfer_not_found') if ticket_transfer.blank?
ActiveRecord::Base.transaction do
ticket_transfer.lock!
validate_execution!(ticket_transfer)
new_guest = transfer_guest_to_buyer!(ticket_transfer)
finalize_transfer!(ticket_transfer, new_guest)
success(ticket_transfer: ticket_transfer, new_guest: new_guest)
end
rescue StandardError => e
handle_failure(ticket_transfer, e)
end
|