adding alexis feedbacks

This commit is contained in:
Philippe 2021-11-16 21:42:44 +01:00
parent 398cf587be
commit 6208ea74d5
11 changed files with 80 additions and 97 deletions

View File

@ -175,20 +175,14 @@ class Admin::PCustomerSheetsController < ApplicationController
def create
@p_customer_sheet = PCustomerSheet.new(params.require(:p_customer_sheet).permit!)
@p_customer_sheet.admin = current_admin
@p_customer_sheet.price_line_block.particular_send = @p_customer_sheet.price_line_block.particular_bill if params[:p_customer_sheet][:price_line_block_attributes][:same_adress] == "oui"
if @p_customer_sheet.save
redirect_to admin_p_customer_sheet_path(@p_customer_sheet)
else
puts "ERRORSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"
puts params
puts @p_customer_sheet.errors.messages
puts "ERRORSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"
@p_customer = @p_customer_sheet.price_line_block.p_customer
render action: "new"
end
end
@ -233,7 +227,7 @@ class Admin::PCustomerSheetsController < ApplicationController
redirect_back(fallback_location: admin_p_customer_sheets_path)
end
def generate_bc
@p_customer_sheet = PCustomerSheet.find(params[:id])
@p_customer_sheet.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1)

View File

@ -711,6 +711,7 @@ class Admin::PriceDocumentsController < ApplicationController
price_document.doc_ref_id = @past_price_document.id
price_document.p_fournisseur = @past_price_document.p_fournisseur
price_document.price_line_block = @past_price_document.price_line_block.dup
price_document.tva_type = @past_price_document.tva_type
if @past_price_document.cc_label == "Commande achat"
price_document.bon_de_commande_achat_id = @past_price_document.id
@ -747,9 +748,11 @@ class Admin::PriceDocumentsController < ApplicationController
end
new_pl.p_articles = pl.p_articles
price_document.price_line_block.price_lines << new_pl
price_document.price_line_block.br_ok = true
end
@past_price_document.price_line_block.br_ok = true
@past_price_document.save
end
if price_document.save
#price_document.reset_for_update
#price_document.archive_now
@ -770,7 +773,6 @@ class Admin::PriceDocumentsController < ApplicationController
def facture_achat
@past_price_document = PriceDocument.find(params[:id])
@p_customer_sheet = @past_price_document.ref_element
if @p_customer_sheet
@ -783,21 +785,19 @@ class Admin::PriceDocumentsController < ApplicationController
price_document.doc_ref_id = @past_price_document.id
price_document.p_fournisseur = @past_price_document.p_fournisseur
price_document.price_line_block = @past_price_document.price_line_block.dup
price_document.price_line_block.ac_bon_de_commande_id = nil
price_document.price_line_block.ac_bon_de_livraison_id = nil
price_document.price_line_block.ac_facture_id = nil
price_document.price_line_block.ac_block_type = nil
price_document.price_line_block.ac_reliquat = nil
price_document.tva_type = @past_price_document.tva_type
@past_price_document.price_line_block.price_lines.each do |pl|
new_pl = pl.dup
new_pl.price_line_ref_id = pl.id
new_pl.ac_block_type = nil
new_pl.p_articles = pl.p_articles
price_document.price_line_block.price_lines << new_pl
end
@ -818,10 +818,17 @@ class Admin::PriceDocumentsController < ApplicationController
render :inline => price_document.errors.messages.to_s
end
end
def update_pcustomersheet_statut
@price_document = PriceDocument.find(params[:id])
state = params[:state]
@price_document.ref_element.state = state
if @price_document.ref_element.save
redirect_to [:admin, @price_document]
end
end
end

View File

@ -59,11 +59,6 @@ class PCustomerSheet < ApplicationRecord
end
#["created_at", "price_line_blocks.wish_date", "cc_tot_amount_ht","cc_tot_amount_ttc"]
before_validation do
@ -273,18 +268,6 @@ class PCustomerSheet < ApplicationRecord
self.archive_now if !self.archived
self.block_price if !self.price_blocked
puts "TVA TYPE IDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 2).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 2).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 2).empty?
puts !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 2).empty?
puts "TVA TYPE IDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
if !self.price_line_block.price_lines.joins(:p_articles).where("p_articles.tva_type_id = ?", 1).empty?
price_document_standard_tva = self.price_documents.new(:price_document_type => PriceDocumentType.find_by_label(label), :date => Date.today, :tva_type_id => 1)
@ -297,17 +280,11 @@ class PCustomerSheet < ApplicationRecord
new_pl = pl.dup
new_pl.ac_block_type = nil
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts pl.p_articles.where(tva_type_id: 1)
pl.p_articles.where(tva_type_id: 1).each { |p_article| new_pl.p_articles << p_article }
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts "PARTICLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
raise
pl.p_articles.where(tva_type_id: 1).each do |p_article|
new_pl.p_articles << PArticle.first
end
new_pl.save
price_document_standard_tva.price_line_block.price_lines << new_pl
end
end
@ -454,5 +431,10 @@ class PCustomerSheet < ApplicationRecord
end
def stock_generable
return self.price_line_block.price_lines.joins(:p_articles).count < self.price_line_block.price_lines.sum(:qte) ? false : true
#exclure les produit non stockable et sans SN
end
end

View File

@ -331,7 +331,6 @@ class PriceDocument < ApplicationRecord
end
def personalised_archive
self.price_line_block.archive_now
end
@ -596,19 +595,7 @@ class PriceDocument < ApplicationRecord
url = (Rails.env.development? ? "http://localhost:3000" : "http://mdmb.basiclabs.fr").to_s+url
pdf = ("pdf2")
node_file = @temp_file
puts "NODE IFLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
puts url
puts url
puts url
puts url
puts url
puts node_file
puts "NODE IFLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
system("node #{pdf}.js #{Shellwords.escape(url)} #{Shellwords.escape(@temp_file)}")
require 'posix/spawn'

View File

@ -1,6 +1,6 @@
class PriceLineBlock < ApplicationRecord
belongs_to :price_lineable, :polymorphic => true
validates :wish_date, :presence => true, :if => :wish_date_needed?
#validates :wish_date, :presence => true, :if => :wish_date_needed?
has_many :price_lines
accepts_nested_attributes_for :price_lines, allow_destroy: true
belongs_to :p_devise
@ -11,17 +11,16 @@ class PriceLineBlock < ApplicationRecord
#validates :particular_send_id, :presence => true, :if => :particular_send_needed?
belongs_to :particular_bill, :class_name => "Particular"#, :dependent => :destroy
accepts_nested_attributes_for :particular_bill
belongs_to :particular_send, :class_name => "Particular"#, :dependent => :destroy
accepts_nested_attributes_for :particular_send
has_many :line_blocks
belongs_to :p_customer
belongs_to :p_payment_type
attr_accessor :same_adress
PURCHASE_BLOCKS = ["Réponse fournisseur", "Consultation fournisseur", "Facture d'achat", "Commande achat", "Demande prix", "Bon de commande achat", "Bon de réception achat", "Facture achat", "Avoir achat", "Catalogue fournisseur"]
@ -165,19 +164,6 @@ class PriceLineBlock < ApplicationRecord
end
def update_stocks
puts "UPDATE STOCKSSSSSSSSSSSSSSSSSSSSSSSSSSS"
puts self.block_type == "Facture"
puts self.block_type == "Bon de commande client"
puts self.block_type
puts self.block_type
puts self.block_type
puts self.block_type
puts self.block_type
puts !self.cost_ok
puts "UPDATE STOCKSSSSSSSSSSSSSSSSSSSSSSSSSSS"
if self.block_type == "Facture" or self.block_type == "Bon de commande client" or self.block_type == "Bon de réception achat" && !self.cost_ok
if self.test_if_stock_ok?
self.price_lines.each do |pl|
@ -285,6 +271,7 @@ class PriceLineBlock < ApplicationRecord
elsif self.block_type == "Devis" or self.block_type == "Demande de commande"
false
else
raise
true
end
end

View File

@ -2,7 +2,7 @@
=#debug form.object.errors.messages if current_admin.id == 1
=form.semantic_fields_for :price_line_block do |f|
=render :partial => "admin/price_line_blocks/form", :locals => {:f => f}
-# .content
-# .qi_row
-# .qi_pannel.qi_plain.padding.row

View File

@ -59,7 +59,9 @@
-if @p_customer_sheet.state == "Brouillon"
%p=link_to "Générer le devis", generate_d_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-primary"
%p=#link_to "Générer la facture proforma", generate_fp_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-primary"
%p=link_to "Générer le bon de commande", generate_bc_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-success btn-ap-add"
%p=link_to "Générer le bon de commande", generate_bc_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-success btn-ap-add disabled" if !@p_customer_sheet.stock_generable
%p=link_to "Générer le bon de commande", generate_bc_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-success btn-ap-add" if @p_customer_sheet.stock_generable
%p=link_to "Marquer l'offre comme refusée", reject_admin_p_customer_sheet_path(@p_customer_sheet), :class => "btn btn-primary btn-ap-error "
-if( @p_customer_sheet.state == "Validée" or (@p_customer_sheet.state == "en livraison" and @p_customer_sheet.price_documents.where(:cc_label => "Bon de livraison", :cancelled => false).count == 0)) and @bon_de_commande

View File

@ -202,7 +202,7 @@
-if price_document.cc_label == "Bon de réception achat"
%br
=link_to "Générer la factureeee", facture_achat_admin_price_document_path(price_document)
=link_to "Générer la facture", facture_achat_admin_price_document_path(price_document)
=render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => price_document}

View File

@ -16,7 +16,6 @@
=breadcrumb second_title: @price_document.label, second_link: admin_price_documents_path(:price_document_type_id => @price_document.price_document_type_id), record: @price_document.d_number
.qi_row
=#debug @price_document.price_line_block.price_lines.count
%table.table.table-striped
@ -250,6 +249,7 @@
-# =link_to "Générer les stocks", generate_stocks_admin_price_document_path(@price_document), :class => "btn btn-primary disabled" if !@price_document.stock_ok and !@price_document.stock_generable
=link_to "Générer un bon de réception", bon_de_reception_admin_price_document_path(@price_document), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
=link_to "Générer un bon de réception", bon_de_reception_admin_price_document_path(@price_document), :class => "btn btn-primary disabled" if !@price_document.stock_ok and !@price_document.stock_generable
-elsif @price_document.price_document_type_id == 4 or @price_document.price_document_type_id == 5
%p
Coût :
@ -262,7 +262,9 @@
=link_to "Mettre à jour les stocks, calculer la marge", update_stocks_admin_price_document_path(@price_document), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
=link_to "Mettre à jour les stocks, calculer la marge", update_stocks_admin_price_document_path(@price_document), :class => "btn btn-primary disabled" if !@price_document.stock_ok and !@price_document.stock_generable
-elsif @price_document.price_document_type_id == 12
=link_to "Mettre à jour les stocks, calculer la marge", update_stocks_admin_price_document_path(@price_document), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
%p=link_to "Mettre à jour les stocks, calculer la marge", update_stocks_admin_price_document_path(@price_document), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
%p=link_to "Passer la commande client au statut Préparation", update_pcustomersheet_statut_admin_price_document_path(@price_document, state: "Préparation"), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
%p=link_to "Passer la commande client au statut Livraison", update_pcustomersheet_statut_admin_price_document_path(@price_document, state: "Livraison"), :class => "btn btn-primary" if !@price_document.stock_ok and @price_document.stock_generable
-if @price_document.d_number
-if @price_document.cc_label == "Commande achat"

View File

@ -20,18 +20,24 @@
-if f.object.p_customer and f.object.p_customer.particular
=render :partial => "admin/p_customers/apercu", :locals => {:particular => f.object.p_customer.particular}
.qi_pannel.qi_plain.padding.row
.col-6
Adresse de livraison :
=f.semantic_fields_for :particular_send do |form_particular_send|
=render :partial => "admin/particulars/form", :locals => {:form => form_particular_send}
=form_particular_send.hidden_field :owner_id
=form_particular_send.hidden_field :owner_type
.col-6
Adresse de facturation :
=f.semantic_fields_for :particular_bill do |form_particular_bill|
=render :partial => "admin/particulars/form", :locals => {:form => form_particular_bill}
=form_particular_bill.hidden_field :owner_id
=form_particular_bill.hidden_field :owner_type
.col-12
.row
.col-3
= f.input :same_adress, label: "Adresse de livraison identique ?", collection: [["oui", "oui"], ["non", "non"]], include_blank: false, as: :select
.row
.col-6
Adresse de facturation :
=f.semantic_fields_for :particular_bill do |form_particular_bill|
=render :partial => "admin/particulars/form", :locals => {:form => form_particular_bill}
=form_particular_bill.hidden_field :owner_id
=form_particular_bill.hidden_field :owner_type
.col-6#send_adress
Adresse de livraison :
=f.semantic_fields_for :particular_send do |form_particular_send|
=render :partial => "admin/particulars/form", :locals => {:form => form_particular_send}
=form_particular_send.hidden_field :owner_id
=form_particular_send.hidden_field :owner_type
-if current_admin.has_permission?("customer-sheets-bl")
=# f.input :bl_comment, :label => "Commentaire à mettre sur le BL :", :input_html => {:style => "min-height:50px;height:50px;"}
@ -97,4 +103,18 @@
$('.p_product_ref_select').select2();
$('.add_lines').click(function() {
$('.p_product_ref_select').last().select2();
});
});
$('#p_customer_sheet_price_line_block_attributes_same_adress_input').on('change', function(e) {
if ($('#p_customer_sheet_price_line_block_attributes_same_adress_input :selected').text() == "oui") {
$( "#send_adress" ).show().fadeOut( 500 );
} else {
$( "#send_adress" ).show().fadeIn( 500 );
}
});
if ($('#p_customer_sheet_price_line_block_attributes_same_adress_input :selected').text() == "oui") {
$( "#send_adress" ).hide();
} else {
$( "#send_adress" ).show();
}

View File

@ -672,6 +672,8 @@ Rails.application.routes.draw do
get :buy_order_create
get :bon_de_reception
get :facture_achat
get :update_pcustomersheet_statut
end
collection do
get :search_to_affect