104 lines
1.6 KiB
Ruby
104 lines
1.6 KiB
Ruby
# -*- encoding : utf-8 -*-
|
|
class Admin::OrdersController < ApplicationController
|
|
layout "admin"
|
|
|
|
before_filter :auth_admin
|
|
|
|
|
|
def index
|
|
|
|
|
|
@orders = Order.order("created_at DESC")
|
|
|
|
|
|
|
|
end
|
|
|
|
def new
|
|
|
|
@order = Order.new(:paid_at => Date.today)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
def edit
|
|
@order = Order.find(params[:id])
|
|
|
|
end
|
|
|
|
def show
|
|
@order = Order.find(params[:id])
|
|
|
|
end
|
|
|
|
def create
|
|
|
|
@order = Order.new(order_params)
|
|
|
|
|
|
if @order.save
|
|
|
|
@order.order_products << OrderProduct.new(:name => "Observer et photographier la faune sans déranger", :description => "desc", :price => 10.0, :slug => "observer-et-photographier-la-faune-sans-deranger")
|
|
@order.save
|
|
|
|
|
|
EbookMailer.confirm(@order.email, public_order_url(:id => @order.token)).deliver
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else
|
|
render :action => "new"
|
|
end
|
|
|
|
|
|
end
|
|
|
|
def update
|
|
@order = Order.find(params[:id])
|
|
|
|
|
|
if @order.update_attributes(order_params)
|
|
|
|
else
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
def destroy
|
|
@order = Order.find(params[:id])
|
|
|
|
@order.destroy
|
|
flash[:notice] = "Le témoignage de "+@order.author.to_s+" a bien été supprimé."
|
|
|
|
|
|
end
|
|
|
|
def resend
|
|
@order = Order.find(params[:id])
|
|
EbookMailer.resend(@order.email, public_order_url(:id => @order.token)).deliver
|
|
redirect_to :back
|
|
end
|
|
|
|
private
|
|
def order_params
|
|
params.require(:order).permit(:email, :name, :payment_type, :paid_at, :paid)
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|