Class: Spree::Admin::OrdersController
- Inherits:
-
BaseController
- Object
- ApplicationController
- BaseController
- BaseController
- Spree::Admin::OrdersController
- Defined in:
- app/controllers/spree/admin/orders_controller.rb
Instance Method Summary collapse
- #edit ⇒ Object
- #fire ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #resend ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods included from Core::ControllerHelpers
Instance Method Details
#edit ⇒ Object
45 46 47 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 45 def edit respond_with(@order) end |
#fire ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 73 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] if @order.send("#{event}") flash.notice = t(:order_updated) else flash[:error] = t(:cannot_perform_operation) end rescue Spree::Core::GatewayError => ge flash[:error] = "#{ge.}" ensure respond_with(@order) { |format| format.html { redirect_to :back } } end |
#index ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 11 def index params[:search] ||= {} params[:search][:completed_at_is_not_null] ||= '1' if Spree::Config[:show_only_complete_orders_by_default] @show_only_completed = params[:search][:completed_at_is_not_null].present? params[:search][:meta_sort] ||= @show_only_completed ? 'completed_at.desc' : 'created_at.desc' @search = Order.(params[:search]) if !params[:search][:created_at_greater_than].blank? params[:search][:created_at_greater_than] = Time.zone.parse(params[:search][:created_at_greater_than]).beginning_of_day rescue "" end if !params[:search][:created_at_less_than].blank? params[:search][:created_at_less_than] = Time.zone.parse(params[:search][:created_at_less_than]).end_of_day rescue "" end if @show_only_completed params[:search][:completed_at_greater_than] = params[:search].delete(:created_at_greater_than) params[:search][:completed_at_less_than] = params[:search].delete(:created_at_less_than) end @orders = Order.(params[:search]).includes([:user, :shipments, :payments]).page(params[:page]).per(Spree::Config[:orders_per_page]) respond_with(@orders) end |
#new ⇒ Object
40 41 42 43 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 40 def new @order = Order.create respond_with(@order) end |
#resend ⇒ Object
88 89 90 91 92 93 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 88 def resend OrderMailer.confirm_email(@order, true).deliver flash.notice = t(:order_email_resent) respond_with(@order) { |format| format.html { redirect_to :back } } end |
#show ⇒ Object
36 37 38 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 36 def show respond_with(@order) end |
#update ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/controllers/spree/admin/orders_controller.rb', line 49 def update return_path = nil if @order.update_attributes(params[:order]) && @order.line_items.present? unless @order.complete? else return_path = admin_order_path(@order) end else @order.errors.add(:line_items, t('errors.messages.blank')) if @order.line_items.empty? end respond_with(@order) do |format| format.html do if return_path redirect_to return_path else render :action => :edit end end end end |