Class: Spree::Admin::TicketTransfersController
- Inherits:
-
ResourceController
- Object
- ResourceController
- Spree::Admin::TicketTransfersController
- Defined in:
- app/controllers/spree/admin/ticket_transfers_controller.rb
Instance Method Summary collapse
- #cancel ⇒ Object
- #index ⇒ Object
- #show ⇒ Object
- #state_changes ⇒ Object
- #update_settlement_status ⇒ Object
Instance Method Details
#cancel ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/controllers/spree/admin/ticket_transfers_controller.rb', line 20 def cancel @ticket_transfer = model_class.find(params[:id]) result = SpreeCmCommissioner::TicketTransfers::Cancel.call( ticket_transfer: @ticket_transfer, acting_user: try_spree_current_user ) if result.success? flash[:success] = 'Ticket transfer has been cancelled' # rubocop:disable Rails/I18nLocaleTexts else flash[:error] = result.error.value end redirect_to admin_ticket_transfer_path(@ticket_transfer) end |
#index ⇒ Object
6 7 8 9 |
# File 'app/controllers/spree/admin/ticket_transfers_controller.rb', line 6 def index @search = model_class.includes(:from_user, :to_user, :from_guest).ransack(params[:q]) @ticket_transfers = @search.result.order(created_at: :desc).page(params[:page]).per(15) end |
#show ⇒ Object
11 12 13 |
# File 'app/controllers/spree/admin/ticket_transfers_controller.rb', line 11 def show @ticket_transfer = model_class.includes(:order, from_guest: [:event, { line_item: :order }]).find(params[:id]) end |
#state_changes ⇒ Object
15 16 17 18 |
# File 'app/controllers/spree/admin/ticket_transfers_controller.rb', line 15 def state_changes @ticket_transfer = model_class.find(params[:id]) @state_changes = @ticket_transfer.state_changes.includes(:user).order(created_at: :desc) end |
#update_settlement_status ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/spree/admin/ticket_transfers_controller.rb', line 35 def update_settlement_status @ticket_transfer = model_class.find(params[:id]) new_status = params[:settlement_status] unless @ticket_transfer.purchase? && @ticket_transfer.completed? flash[:error] = 'Settlement status can only be updated for completed purchase transfers' # rubocop:disable Rails/I18nLocaleTexts redirect_to admin_ticket_transfer_path(@ticket_transfer) return end if @ticket_transfer.update(settlement_status: new_status) @ticket_transfer.log_settlement_status_changes(user_id: try_spree_current_user&.id) flash[:success] = "Settlement status updated to #{new_status}" else flash[:error] = @ticket_transfer.errors..to_sentence.presence || 'Failed to update settlement status' end redirect_to admin_ticket_transfer_path(@ticket_transfer) end |