lockaz_app/app/controllers/admin/p_fournisseur_docs_controller.rb
Nicolas Bally f20fe482c6 initial
2020-04-06 10:38:07 +02:00

128 lines
4.0 KiB
Ruby

# -*- encoding : utf-8 -*-
class Admin::PFournisseurDocsController < ApplicationController
layout "admin"
before_action :auth_admin
before_action :admin_space
def admin_space
@admin_space = "stocks"
end
def index
@p_fournisseur_docs = PFournisseurDoc.order("date DESC").all
end
def show
@p_fournisseur_doc = PFournisseurDoc.find(params[:id])
end
def new
@last_fournisseur_doc = PFournisseurDoc.where(:id => params[:p_fournisseur_doc_id]).first
@p_fournisseur_doc = PFournisseurDoc.new(:p_fournisseur_order_id => params[:p_fournisseur_order_id], :p_fournisseur_doc_type_id => params[:p_fournisseur_doc_type_id])
@p_fournisseur_order = @p_fournisseur_doc.p_fournisseur_order if @p_fournisseur_doc.p_fournisseur_order
if @p_fournisseur_order
@p_fournisseur = @p_fournisseur_order.p_fournisseur
elsif
@p_fournisseur = @last_fournisseur_doc.p_fournisseur
end
@p_fournisseur_doc.p_fournisseur = @p_fournisseur if @p_fournisseur
if @p_fournisseur_order
@p_fournisseur_doc.price_line_block = @p_fournisseur_order.price_line_block.dup
@p_fournisseur_order.price_line_block.price_lines.each do |pl|
@p_fournisseur_doc.price_line_block.price_lines << pl.dup
end
elsif @last_fournisseur_doc
@p_fournisseur_doc.price_line_block = @last_fournisseur_doc.price_line_block.dup
@last_fournisseur_doc.price_line_block.price_lines.each do |pl|
@p_fournisseur_doc.price_line_block.price_lines << pl.dup
end
else
@p_fournisseur_doc.price_line_block = PriceLineBlock.new
end
if @last_fournisseur_doc
@p_fournisseur_doc.price_line_block.ct_payment_comptant = @last_fournisseur_doc.price_line_block.ct_payment_comptant
@p_fournisseur_doc.price_line_block.p_payment_type_id = @last_fournisseur_doc.price_line_block.p_payment_type_id
@p_fournisseur_doc.price_line_block.ct_acompte = @last_fournisseur_doc.price_line_block.ct_acompte
@p_fournisseur_doc.price_line_block.ct_acompte_percent = @last_fournisseur_doc.price_line_block.ct_acompte_percent
@p_fournisseur_doc.price_line_block.ct_payment_delais = @last_fournisseur_doc.price_line_block.ct_payment_delais
@p_fournisseur_doc.price_line_block.ct_payment_month_end = @last_fournisseur_doc.price_line_block.ct_payment_month_end
elsif @p_fournisseur
@p_fournisseur_doc.price_line_block.ct_payment_comptant = @p_fournisseur.payment_comptant
@p_fournisseur_doc.price_line_block.p_payment_type_id = @p_fournisseur.p_payment_type_id
@p_fournisseur_doc.price_line_block.ct_acompte = @p_fournisseur.acompte
@p_fournisseur_doc.price_line_block.ct_acompte_percent = @p_fournisseur.acompte_percent
@p_fournisseur_doc.price_line_block.ct_payment_delais = @p_fournisseur.payment_delais
@p_fournisseur_doc.price_line_block.ct_payment_month_end = @p_fournisseur.payment_month_end
end
end
def edit
@p_fournisseur_doc = PFournisseurDoc.find(params[:id])
@p_fournisseur = @p_fournisseur_doc.p_fournisseur
end
def create
@p_fournisseur_doc = PFournisseurDoc.new(params.require(:p_fournisseur_doc).permit!)
if @p_fournisseur_doc.save
if @p_fournisseur_doc.p_fournisseur_order
redirect_to [:admin, @p_fournisseur_doc.p_fournisseur_order]
else
redirect_to [:admin, @p_fournisseur_doc]
end
else
render action: "new"
end
end
def update
@p_fournisseur_doc = PFournisseurDoc.find(params[:id])
if @p_fournisseur_doc.update_attributes(params.require(:p_fournisseur_doc).permit!)
if @p_fournisseur_doc.p_fournisseur_order
redirect_to [:admin, @p_fournisseur_doc.p_fournisseur_order]
else
redirect_to [:admin, @p_fournisseur_doc]
end
else
render action: "edit"
end
end
def destroy
@p_fournisseur_doc = PFournisseurDoc.find(params[:id])
@p_fournisseur_doc.destroy
end
end