Sha256: 8d81efeaafbf624ef9c5f98f5054b2a8f6625fabcca885e37a84c1a0a1c87349

Contents?: true

Size: 887 Bytes

Versions: 4

Compression:

Stored size: 887 Bytes

Contents

module SimpleCart
  class OrdersController < SimpleCart::ApplicationController
    before_action :set_order, only: [:show, :edit, :update, :completed]
    
    def index
      @orders = Order.all.order(id: :desc)
      @in_progress = Order.all.where(aasm_state: 'in_progress').order(id: :desc)
      @in_queue = Order.all.where(aasm_state: 'in_queue').order(id: :desc)
      @delivered = Order.all.where(aasm_state: 'delivered').order(id: :desc)
    end

    def show
    end

    def update
      if @order.queued!
        @order.total_price += @order.delivery.costs
        @order.completed_date = Time.now
        @order.save
        redirect_to order_path, notice: "Your order is completed."
      else 
        redirect_to order_checkout_path, alert: "Order state is invalid."
      end
    end

    private
    def set_order
      @order = Order.find(params[:id])
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple_cart-0.0.5 app/controllers/simple_cart/orders_controller.rb
simple_cart-0.0.4 app/controllers/simple_cart/orders_controller.rb
simple_cart-0.0.3 app/controllers/simple_cart/orders_controller.rb
simple_cart-0.0.2 app/controllers/simple_cart/orders_controller.rb