169 lines
3.8 KiB
Ruby
169 lines
3.8 KiB
Ruby
# -*- encoding : utf-8 -*-
|
|
|
|
class Admin::BuyListsController < ApplicationController
|
|
layout "admin"
|
|
before_action :auth_admin
|
|
|
|
def index
|
|
|
|
@p_customer_sheets = PCustomerSheet.all
|
|
|
|
@p_customer_sheets = @p_customer_sheets.where(:state => ["brouillon", "offre", "commande"])
|
|
|
|
@price_line_blocks = PriceLineBlock.where(:price_lineable_type => "PCustomerSheet", :price_lineable_id => @p_customer_sheets.ids)
|
|
|
|
@price_lines = PriceLine.where(:price_line_block_id => @price_line_blocks.ids)
|
|
|
|
respond_to do |format|
|
|
format.html{
|
|
|
|
|
|
|
|
}
|
|
end
|
|
|
|
end
|
|
|
|
def show
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def new
|
|
|
|
|
|
@p_customer_sheet = PCustomerSheet.new()
|
|
|
|
@p_customer = PCustomer.find(params[:p_customer_id]) if params[:p_customer_id]
|
|
|
|
@p_customer_sheet.p_customer = @p_customer
|
|
|
|
@p_customer_sheet.price_line_block = PriceLineBlock.new(:particular_bill_id => @p_customer.particular_bill_id, :particular_send_id => @p_customer.particular_send_id)
|
|
@p_customer_sheet.price_line_block.price_lines.build
|
|
@p_customer_sheet.price_line_block.p_customer = @p_customer
|
|
end
|
|
|
|
|
|
|
|
def edit
|
|
|
|
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
|
|
@p_customer = @p_customer_sheet.p_customer
|
|
end
|
|
|
|
def create
|
|
@p_customer_sheet = PCustomerSheet.new(params.require(:p_customer_sheet).permit!)
|
|
|
|
@p_customer_sheet.admin = current_admin
|
|
|
|
@p_customer = @p_customer_sheet.p_customer
|
|
|
|
if @p_customer_sheet.save
|
|
@p_customer_sheets = PCustomerSheet.order(:id).all
|
|
redirect_to admin_p_customer_sheet_path(@p_customer_sheet)
|
|
else
|
|
render action: "new"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
def update
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer = @p_customer_sheet.p_customer
|
|
|
|
|
|
if @p_customer_sheet.update_attributes(params.require(:p_customer_sheet).permit!)
|
|
|
|
@p_customer_sheets = PCustomerSheet.order(:id).all
|
|
|
|
redirect_to admin_p_customer_sheet_path(@p_customer_sheet)
|
|
else
|
|
render action: "edit"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
def destroy
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.destroy
|
|
|
|
|
|
end
|
|
|
|
|
|
def generate_d
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.generate_d
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
def generate_fp
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.generate_fp
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
def generate_bc
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.generate_bc
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
def generate_bl
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.generate_bl
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
def generate_f
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.generate_f
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
def reject
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
@p_customer_sheet.state = "refusée"
|
|
|
|
@p_customer_sheet.save
|
|
@p_customer_sheet.archive_now if !@p_customer_sheet.archived
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
|
|
def block_price
|
|
@p_customer_sheet = PCustomerSheet.find(params[:id])
|
|
if @p_customer_sheet.price_blocked
|
|
@p_customer_sheet.unblock_price
|
|
else
|
|
@p_customer_sheet.block_price
|
|
end
|
|
|
|
redirect_back(fallback_location: admin_p_customer_sheets_path)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|