Class: Spree::Api::CheckoutsController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- BaseController
- Spree::Api::CheckoutsController
- Includes:
- Core::ControllerHelpers::Order, Core::ControllerHelpers::PaymentParameters
- Defined in:
- app/controllers/spree/api/checkouts_controller.rb
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
Instance Method Details
#advance ⇒ Object
31 32 33 34 35 |
# File 'app/controllers/spree/api/checkouts_controller.rb', line 31 def advance :update, @order, order_token @order.contents.advance respond_with(@order, default_template: 'spree/api/orders/show', status: 200) end |
#complete ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/spree/api/checkouts_controller.rb', line 37 def complete :update, @order, order_token if !expected_total_ok?(params[:expected_total]) respond_with(@order, default_template: 'spree/api/orders/expected_total_mismatch', status: 400) else @order.complete! respond_with(@order, default_template: 'spree/api/orders/show', status: 200) end rescue StateMachines::InvalidTransition => e logger.error("invalid_transition #{e.event} from #{e.from} for #{e.object.class.name}. Error: #{e.inspect}") respond_with(@order, default_template: 'spree/api/orders/could_not_transition', status: 422) end |
#next ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/controllers/spree/api/checkouts_controller.rb', line 17 def next :update, @order, order_token if !expected_total_ok?(params[:expected_total]) respond_with(@order, default_template: 'spree/api/orders/expected_total_mismatch', status: 400) return end :update, @order, order_token @order.next! respond_with(@order, default_template: 'spree/api/orders/show', status: 200) rescue StateMachines::InvalidTransition => e logger.error("invalid_transition #{e.event} from #{e.from} for #{e.object.class.name}. Error: #{e.inspect}") respond_with(@order, default_template: 'spree/api/orders/could_not_transition', status: 422) end |
#update ⇒ Object
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/api/checkouts_controller.rb', line 50 def update :update, @order, order_token if OrderUpdateAttributes.new(@order, update_params, request_env: request.headers.env).apply if can?(:admin, @order) && user_id.present? @order.associate_user!(Spree.user_class.find(user_id)) end return if after_update_attributes if @order.completed? || @order.next state_callback(:after) respond_with(@order, default_template: 'spree/api/orders/show') else logger.error("failed_to_transition_errors=#{@order.errors.}") respond_with(@order, default_template: 'spree/api/orders/could_not_transition', status: 422) end else invalid_resource!(@order) end end |