Sha256: 33f6b56da9c9421c47eaa5ac0a317dccc46dfa0a9ff83188b03c2040bacfbf29

Contents?: true

Size: 762 Bytes

Versions: 2

Compression:

Stored size: 762 Bytes

Contents

module ShoppyCartus
  class OrdersController < ApplicationController

    def index
      @orders = current_user.orders.executed
      @orders = @orders.by_state(params[:state].to_sym) if valid_state?
    end

    def show
      @_order = ShoppyCartus::Order.find_by(id: params[:id]).decorate
    end

    def confirm
      order = ShoppyCartus::Order.find_by(id: params[:order_id])
      if order.confirmation_token == params[:token]
        order.process
        order.save
        return redirect_to main_app.root_path, notice: t('order.confirmed')
      end
      redirect_to main_app.root_path, alert: t('order.wrong_token')
    end

    private

    def valid_state?
      ShoppyCartus::Order.aasm_states.include?(params[:state]&.to_sym)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shoppy_cartus-0.1.1 app/controllers/shoppy_cartus/orders_controller.rb
shoppy_cartus-0.1.0 app/controllers/shoppy_cartus/orders_controller.rb