Sha256: 54b1a6dbf539bb67a6350057f4a85a39d699c9f9afa1f77c3cb9bda76a0dcabf

Contents?: true

Size: 1.87 KB

Versions: 6

Compression:

Stored size: 1.87 KB

Contents

class Admin::OrdersController < Admin::BaseController
  require 'spree/gateway_error'
  resource_controller
  before_filter :initialize_txn_partials
  before_filter :initialize_order_events
  before_filter :load_object, :only => [:fire, :resend]

  in_place_edit_for :user, :email

  def fire   
    # TODO - possible security check here but right now any admin can before any transition (and the state machine 
    # itself will make sure transitions are not applied in the wrong state)
    event = params[:e]
    Order.transaction do 
      @order.send("#{event}!")
    end
    flash[:notice] = t('order_updated')
  rescue Spree::GatewayError => ge
    flash[:error] = "#{ge.message}"
  ensure
    redirect_to :back
  end
  
  def resend
    OrderMailer.deliver_confirm(@order, true)
    flash[:notice] = t('order_email_resent')
    redirect_to :back
  end
  
  private

  def collection
    @search = Order.search(params[:search])
    @search.order ||= "descend_by_created_at"

    # QUERY - get per_page from form ever???  maybe push into model
    # @search.per_page ||= Spree::Config[:orders_per_page]

    # turn on show-complete filter by default
    unless params[:search] && params[:search][:checkout_completed_at_not_null]
      @search.checkout_completed_at_not_null = true 
    end
    
    @collection = @search.paginate(:include  => [:user, :shipments, {:creditcard_payments => {:creditcard => :address}}],
                                   :per_page => Spree::Config[:orders_per_page], 
                                   :page     => params[:page])
  end

  # Allows extensions to add new forms of payment to provide their own display of transactions
  def initialize_txn_partials
    @txn_partials = []
  end
  
  # Used for extensions which need to provide their own custom event links on the order details view.
  def initialize_order_events
    @order_events = %w{cancel resume}
  end
  

end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
spree-enriquez-0.9.4 app/controllers/admin/orders_controller.rb
spree-0.9.4 app/controllers/admin/orders_controller.rb
spree-0.9.3 app/controllers/admin/orders_controller.rb
spree-0.9.2 app/controllers/admin/orders_controller.rb
spree-0.9.1 app/controllers/admin/orders_controller.rb
spree-0.9.0 app/controllers/admin/orders_controller.rb