WIP commande Achat
This commit is contained in:
parent
175970a69c
commit
f93da075b8
@ -24,8 +24,29 @@ class Admin::PFournisseursController < ApplicationController
|
||||
end
|
||||
|
||||
def index
|
||||
@p_fournisseurs = PFournisseur.order(:name).all
|
||||
|
||||
|
||||
|
||||
@p_fournisseurs = PFournisseur
|
||||
|
||||
|
||||
if params[:search][:global].to_s != ""
|
||||
@p_fournisseurs = @p_fournisseurs.global_search(params[:search][:global])
|
||||
end
|
||||
|
||||
@p_fournisseurs = @p_fournisseurs.all
|
||||
@p_fournisseurs = sort_by_sorting(@p_fournisseurs, "name ASC")
|
||||
|
||||
respond_to do |format|
|
||||
format.html{
|
||||
|
||||
params[:search][:per_page] = params[:search][:per_page] || 100
|
||||
per_page = params[:search][:per_page]
|
||||
page = (params[:page] and params[:page] != "") ? params[:page] : 1
|
||||
@p_fournisseurs = @p_fournisseurs.page(page).per(per_page)
|
||||
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
@ -230,25 +230,31 @@ class Admin::PriceDocumentsController < ApplicationController
|
||||
def new
|
||||
if params[:document_type]
|
||||
|
||||
@price_document = PriceDocument.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id])
|
||||
@price_document.price_document_type = PriceDocumentType.where(:label => params[:document_type]).first
|
||||
@price_document.price_line_block = PriceLineBlock.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id])
|
||||
|
||||
if @price_document.price_document_type.label == "Demande prix"
|
||||
p_product_ref_id = params[:p_product_ref_ids] - [""]
|
||||
p_product_ref_qte = params[:qte].permit!.to_hash
|
||||
if params[:document_type] == "Commande achat" and params[:p_fournisseur_id].to_s == ""
|
||||
redirect_to admin_p_fournisseurs_path(:create_document => "Commande achat" )
|
||||
|
||||
p_product_ref_id.each do |i|
|
||||
if p_product_ref_qte[i.to_s].to_i > 0
|
||||
@price_document.price_line_block.price_lines << PriceLine.new(:p_product_ref_id => i, :qte => p_product_ref_qte[i.to_s])
|
||||
else
|
||||
|
||||
@price_document = PriceDocument.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id])
|
||||
@price_document.price_document_type = PriceDocumentType.where(:label => params[:document_type]).first
|
||||
@price_document.price_line_block = PriceLineBlock.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id])
|
||||
|
||||
if @price_document.price_document_type.label == "Demande prix"
|
||||
p_product_ref_id = params[:p_product_ref_ids] - [""]
|
||||
p_product_ref_qte = params[:qte].permit!.to_hash
|
||||
|
||||
p_product_ref_id.each do |i|
|
||||
if p_product_ref_qte[i.to_s].to_i > 0
|
||||
@price_document.price_line_block.price_lines << PriceLine.new(:p_product_ref_id => i, :qte => p_product_ref_qte[i.to_s])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# @ref_price_lines = PriceLine.where(:id => params[:price_line_ids])
|
||||
# @ref_price_lines.group(:p_product_ref_id).each do |plr|
|
||||
# @price_document.price_line_block.price_lines << PriceLine.new(:p_product_ref_id => plr.p_product_ref_id, :qte => @ref_price_lines.where(:p_product_ref_id => plr.p_product_ref_id).sum(:qte))
|
||||
# end
|
||||
|
||||
# @ref_price_lines = PriceLine.where(:id => params[:price_line_ids])
|
||||
# @ref_price_lines.group(:p_product_ref_id).each do |plr|
|
||||
# @price_document.price_line_block.price_lines << PriceLine.new(:p_product_ref_id => plr.p_product_ref_id, :qte => @ref_price_lines.where(:p_product_ref_id => plr.p_product_ref_id).sum(:qte))
|
||||
# end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
@ -24,6 +24,22 @@ class PFournisseur < ApplicationRecord
|
||||
]
|
||||
|
||||
|
||||
include PgSearch::Model
|
||||
pg_search_scope :global_search,
|
||||
against: [:name],
|
||||
using: {
|
||||
tsearch: { prefix: true }
|
||||
}
|
||||
|
||||
|
||||
|
||||
acts_as_sorting :fields => {
|
||||
:name => {:name => "Nom", :reorder => true},
|
||||
:address => {:name => "Adresse", :reorder => false},
|
||||
:actions => {:name => "Actions"}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def self.custom_csv_import(list, import_csv)
|
||||
# ap "*********************************************************************************************************"
|
||||
|
1
app/views/admin/p_fournisseurs/_apercu.html.haml
Normal file
1
app/views/admin/p_fournisseurs/_apercu.html.haml
Normal file
@ -0,0 +1 @@
|
||||
=p_fournisseur.name
|
@ -1,27 +1,34 @@
|
||||
%tr#p_fournisseur{:id => p_fournisseur.id}
|
||||
%td= p_fournisseur.code
|
||||
%td= p_fournisseur.name
|
||||
|
||||
%td
|
||||
= p_fournisseur.address1
|
||||
-if p_fournisseur.address2
|
||||
|
||||
%tr#p_article_row{:id => p_fournisseur.id}
|
||||
-tr = {}
|
||||
|
||||
-tr[:address] = capture do
|
||||
%td
|
||||
= p_fournisseur.address1
|
||||
-if p_fournisseur.address2
|
||||
%br
|
||||
=p_fournisseur.address2
|
||||
%br
|
||||
=p_fournisseur.address2
|
||||
%br
|
||||
=p_fournisseur.cp
|
||||
=p_fournisseur.city
|
||||
|
||||
%td
|
||||
=p_fournisseur.email
|
||||
%td
|
||||
=p_fournisseur.tel
|
||||
|
||||
|
||||
|
||||
=p_fournisseur.cp
|
||||
=p_fournisseur.city
|
||||
|
||||
|
||||
-tr[:actions] = capture do
|
||||
%td.actions
|
||||
-if params[:create_document].to_s != ""
|
||||
=link_to "Selectionner >", new_admin_price_document_path(:document_type => params[:create_document], :p_fournisseur_id => p_fournisseur.id), :class => "btn btn-primary"
|
||||
-else
|
||||
|
||||
= link_to i(:"trash-o"), [:admin, p_fournisseur], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true
|
||||
= link_to i(:pencil), edit_admin_p_fournisseur_path(p_fournisseur), :remote => true
|
||||
|
||||
|
||||
|
||||
=render :partial => "qi/qi_ordered_table_object", :locals => {:tr => tr, :object => p_fournisseur}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%td.actions
|
||||
= link_to i(:"trash-o"), [:admin, p_fournisseur], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true
|
||||
= link_to i(:pencil), edit_admin_p_fournisseur_path(p_fournisseur), :remote => true
|
||||
|
||||
|
@ -1,28 +1,30 @@
|
||||
.qi_header
|
||||
.right
|
||||
= link_to 'Ajouter un fournisseur', new_admin_p_fournisseur_path(), :class => "btn btn-primary", :remote => true
|
||||
|
||||
.right= link_to 'Ajouter un fournisseur', new_admin_p_fournisseur_path(), :class => "btn btn-primary", :remote => true
|
||||
=breadcrumb
|
||||
|
||||
|
||||
.qi_row
|
||||
.qi_pannel.qi_plain.padding
|
||||
%table.table
|
||||
|
||||
.qi_search_row
|
||||
=form_tag "", :method => "get", :onsubmit => "" do
|
||||
=hidden_field_tag :column, params[:column]
|
||||
=hidden_field_tag :direction, params[:direction]
|
||||
|
||||
=hidden_field_tag :create_document, params[:create_document]
|
||||
|
||||
%table
|
||||
%tr
|
||||
%th Code
|
||||
|
||||
%td{style: "min-width: 500px;"}
|
||||
.input-group
|
||||
=text_field_tag "search[global]", params[:search][:global],:class => "form-control", :placeholder => "Nom"
|
||||
.input-group-append{:onclick => "$(this).prev('input').val('');"}
|
||||
.btn.btn-outline-dark
|
||||
=ic(:times)
|
||||
|
||||
=render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @p_fournisseurs}
|
||||
|
||||
|
||||
=render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @p_fournisseurs}
|
||||
|
||||
|
||||
|
||||
%th Nom
|
||||
|
||||
%th Adresse
|
||||
%th
|
||||
Email
|
||||
%th
|
||||
Tél
|
||||
%th
|
||||
|
||||
|
||||
%tbody#p_fournisseurs_rows
|
||||
=render @p_fournisseurs
|
||||
|
||||
|
||||
|
@ -11,30 +11,30 @@
|
||||
|
||||
.p_customer_sheet_customer
|
||||
|
||||
|
||||
-if f.object.p_customer and f.object.p_customer.particular
|
||||
=render :partial => "admin/p_customers/apercu", :locals => {:particular => f.object.p_customer.particular}
|
||||
-if false
|
||||
-if f.object.p_fournisseur and f.object.p_fournisseur.particular
|
||||
=#render :partial => "admin/p_fournisseurs/apercu", :locals => {:particular => f.object.p_fournisseur.particular}
|
||||
|
||||
.addresses.row
|
||||
.columns.span_6
|
||||
%h3 Adresse de facturation
|
||||
|
||||
-if f.object.p_customer
|
||||
-if false
|
||||
%h3 Adresse de facturation
|
||||
|
||||
-if f.object.p_fournisseur
|
||||
=f.inputs do
|
||||
= f.input :particular_bill_id, :collection => f.object.p_customer.particulars.all, :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de facturation"
|
||||
=# f.input :particular_bill_id, :collection => f.object.p_fournisseur.particulars.all, :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de facturation"
|
||||
-else
|
||||
=f.inputs do
|
||||
= f.input :particular_bill_id, :collection => [], :as => :select, :include_blank => false, :label => "Adresse de facturation"
|
||||
=# f.input :particular_bill_id, :collection => [], :as => :select, :include_blank => false, :label => "Adresse de facturation"
|
||||
|
||||
.columns.span_6
|
||||
%h3 Adresse de livraison
|
||||
|
||||
-if f.object.p_customer
|
||||
-if false
|
||||
=f.inputs do
|
||||
= f.input :particular_send_id, :collection => f.object.p_customer.particulars.all, :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de livraison"
|
||||
-else
|
||||
=f.inputs do
|
||||
= f.input :particular_send_id, :collection => [], :as => :select, :include_blank => false, :label => "Adresse de facturation"
|
||||
=# f.input :particular_send_id, :collection => , :as => :select, :member_label => :address_line, :include_blank => false, :label => "Adresse de livraison"
|
||||
%h4 ARCOM
|
||||
%p 973 route du Fier, 74 230 Dingy-Saint-Clair
|
||||
|
||||
.clear
|
||||
|
||||
|
Reference in New Issue
Block a user