Class: SpreeCmCommissioner::TicketTransfers::Reject

Inherits:
Object
  • Object
show all
Includes:
Spree::ServiceModule::Base
Defined in:
app/services/spree_cm_commissioner/ticket_transfers/reject.rb

Instance Method Summary collapse

Instance Method Details

#call(ticket_transfer:, acting_user:) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/services/spree_cm_commissioner/ticket_transfers/reject.rb', line 6

def call(ticket_transfer:, acting_user:)
  validate_rejection!(ticket_transfer, acting_user)

  ActiveRecord::Base.transaction do
    ticket_transfer.from_guest.update!(state: :active)
    ticket_transfer.update!(state: :rejected, completed_at: Time.zone.now)
    ticket_transfer.log_state_changes(user_id: acting_user.id)
    success(ticket_transfer: ticket_transfer)
  end
rescue StandardError => e
  handle_failure(ticket_transfer, e)
end