Class: Effective::OrdersController
- Inherits:
 - 
      ApplicationController
      
        
- Object
 - ApplicationController
 - Effective::OrdersController
 
 
- Includes:
 - Concerns::Purchase, CrudController, Providers::Cheque, Providers::Etransfer, Providers::Free, Providers::MarkAsPaid, Providers::Moneris, Providers::MonerisCheckout, Providers::Paypal, Providers::Phone, Providers::Pretend, Providers::Refund, Providers::Stripe
 
- Defined in:
 - app/controllers/effective/orders_controller.rb
 
Instance Method Summary collapse
- #bulk_send_buyer_receipt ⇒ Object
 - 
  
    
      #create  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Confirms an order from the cart.
 - #declined ⇒ Object
 - #deferred ⇒ Object
 - 
  
    
      #edit  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Always step1.
 - 
  
    
      #index  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
My Orders History.
 - 
  
    
      #new  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
If you want to use the Add to Cart -> Checkout flow Add one or more items however you do.
 - 
  
    
      #purchased  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Thank you for Purchasing this Order.
 - #send_buyer_receipt ⇒ Object
 - 
  
    
      #show  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
If you want to use the order = Effective::Order.new(@thing); order.save! flow Add one or more items to the order.
 - 
  
    
      #update  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Confirms the order from existing order.
 
Methods included from Providers::Stripe
Methods included from Providers::Refund
Methods included from Providers::Pretend
Methods included from Providers::Phone
Methods included from Providers::Paypal
Methods included from Providers::MonerisCheckout
Methods included from Providers::Moneris
Methods included from Providers::MarkAsPaid
#mark_as_paid, #mark_as_paid_params
Methods included from Providers::Free
Methods included from Providers::Etransfer
Methods included from Providers::Cheque
Instance Method Details
#bulk_send_buyer_receipt ⇒ Object
      132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 132 def bulk_send_buyer_receipt @orders = Effective::Order.purchased.where(id: params[:ids]) begin EffectiveResources.(self, :index, Effective::Order.new(user: current_user)) @orders.each do |order| next unless EffectiveResources.(self, :show, order) order.send_order_receipt_to_buyer! end render json: { status: 200, message: "Successfully sent #{@orders.length} receipt emails"} rescue => e render json: { status: 500, message: "Bulk send buyer receipt error: #{e.}" } end end  | 
  
#create ⇒ Object
Confirms an order from the cart.
      44 45 46 47 48 49 50 51 52 53 54 55 56  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 44 def create @order ||= Effective::Order.new(view_context.current_cart) EffectiveResources.(self, :create, @order) @order.assign_attributes(checkout_params) if (@order.confirm! rescue false) redirect_to(effective_orders.order_path(@order)) else flash.now[:danger] = "Unable to proceed: #{flash_errors(@order)}. Please try again." render :new end end  | 
  
#declined ⇒ Object
      108 109 110 111  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 108 def declined @order = Effective::Order.declined.find(params[:id]) EffectiveResources.(self, :show, @order) end  | 
  
#deferred ⇒ Object
      103 104 105 106  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 103 def deferred @order = Effective::Order.deferred.find(params[:id]) EffectiveResources.(self, :show, @order) end  | 
  
#edit ⇒ Object
Always step1
      71 72 73 74  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 71 def edit @order ||= Effective::Order.not_purchased.find(params[:id]) EffectiveResources.(self, :edit, @order) end  | 
  
#index ⇒ Object
My Orders History
      92 93 94 95  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 92 def index @datatable = EffectiveOrdersDatatable.new(user_id: current_user.id) EffectiveResources.(self, :index, Effective::Order.new(user: current_user)) end  | 
  
#new ⇒ Object
If you want to use the Add to Cart -> Checkout flow Add one or more items however you do. redirect_to effective_orders.new_order_path, which is here. This is the entry point for any Checkout button. It displayes an order based on the cart Always step1
      31 32 33 34 35 36 37 38 39 40 41  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 31 def new @order ||= Effective::Order.new(view_context.current_cart) EffectiveResources.(self, :new, @order) unless @order.valid? flash[:danger] = "Unable to proceed: #{flash_errors(@order)}. Please try again." redirect_to(effective_orders.cart_path) return end end  | 
  
#purchased ⇒ Object
Thank you for Purchasing this Order. This is where a successfully purchased order ends up
      98 99 100 101  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 98 def purchased # Thank You! @order = Effective::Order.purchased.find(params[:id]) EffectiveResources.(self, :show, @order) end  | 
  
#send_buyer_receipt ⇒ Object
      113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 113 def send_buyer_receipt @order = Effective::Order.purchased.find(params[:id]) EffectiveResources.(self, :show, @order) if @order.send_order_receipt_to_buyer! flash[:success] = "A receipt has been sent to #{@order.emails_send_to}" else flash[:danger] = "Unable to send receipt." end if respond_to?(:redirect_back) redirect_back(fallback_location: effective_orders.order_path(@order)) elsif request.referrer.present? redirect_to :back else redirect_to effective_orders.order_path(@order) end end  | 
  
#show ⇒ Object
If you want to use the order = Effective::Order.new(@thing); order.save! flow Add one or more items to the order. redirect_to effective_orders.order_path(order), which is here This is the entry point for an existing order. Might render step1 or step2
      63 64 65 66 67 68  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 63 def show @order = Effective::Order.find(params[:id]) EffectiveResources.(self, :show, @order) @page_title ||= ((@order.user == current_user && !@order.purchased?) ? 'Checkout' : @order.to_s) end  | 
  
#update ⇒ Object
Confirms the order from existing order
      77 78 79 80 81 82 83 84 85 86 87 88 89  | 
    
      # File 'app/controllers/effective/orders_controller.rb', line 77 def update @order ||= Effective::Order.not_purchased.find(params[:id]) EffectiveResources.(self, :update, @order) @order.assign_attributes(checkout_params) if (@order.confirm! rescue false) redirect_to(effective_orders.order_path(@order)) else flash.now[:danger] = "Unable to proceed: #{flash_errors(@order)}. Please try again." render :edit end end  |