Class: Admin::OrdersController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Admin::OrdersController
- Defined in:
- app/controllers/admin/orders_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #index ⇒ Object
- #mark_as_paid ⇒ Object
- #new ⇒ Object
- #send_payment_request ⇒ Object
- #show ⇒ Object
Instance Method Details
#create ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/admin/orders_controller.rb', line 28 def create @user = User.find_by_id(order_params[:user_id]) @order = Effective::Order.new(user: @user) @order.send_payment_request_to_buyer = order_params[:send_payment_request_to_buyer] if order_params[:order_items_attributes].present? order_params[:order_items_attributes].each do |_, item_attrs| purchasable = Effective::Product.new(item_attrs[:purchasable_attributes]) @order.add(purchasable, quantity: item_attrs[:quantity]) end end if @order.create_as_pending path_for_redirect = params[:commit] == 'Save and Add New' ? effective_orders.new_admin_order_path : effective_orders.admin_order_path(@order) = 'Successfully created order' << ". #{@order.user.email} has been sent a request for payment." if @order.send_payment_request_to_buyer? flash[:success] = redirect_to path_for_redirect else @page_title = 'New Order' flash.now[:danger] = 'Unable to create order' render :new end end |
#index ⇒ Object
7 8 9 10 11 12 |
# File 'app/controllers/admin/orders_controller.rb', line 7 def index @datatable = Effective::Datatables::Orders.new() if defined?(EffectiveDatatables) @page_title = 'Orders' end |
#mark_as_paid ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'app/controllers/admin/orders_controller.rb', line 55 def mark_as_paid @order = Effective::Order.find(params[:id]) purchased = @order.purchase!( details: 'Marked as paid by admin', provider: 'admin', card: 'none', email: EffectiveOrders.mailer[:send_order_receipts_when_marked_paid_by_admin], skip_buyer_validations: true # This will allow a declined order to be marked purchased ) if purchased flash[:success] = 'Order marked as paid successfully' redirect_to effective_orders.admin_order_path(@order) else flash[:danger] = 'Unable to mark order as paid' request.referrer ? (redirect_to :back) : (redirect_to effective_orders.admin_orders_path) end end |
#new ⇒ Object
21 22 23 24 25 26 |
# File 'app/controllers/admin/orders_controller.rb', line 21 def new @order = Effective::Order.new @page_title = 'New Order' end |
#send_payment_request ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'app/controllers/admin/orders_controller.rb', line 76 def send_payment_request @order = Effective::Order.find(params[:id]) if @order.send_payment_request_to_buyer! flash[:success] = "Successfully sent payment request to #{@order.user.email}" else flash[:danger] = 'Unable to send payment request' end request.referrer ? (redirect_to :back) : (redirect_to effective_orders.admin_order_path(@order)) end |