Update form & search with serial_num_value inside p_article_serial_num

This commit is contained in:
Barnabé 2021-08-30 13:11:15 +02:00
parent e4467ff8ae
commit af77d53b9a
13 changed files with 46 additions and 35 deletions

View File

@ -11,18 +11,19 @@ class Admin::PArticleSerialNumsController < ApplicationController
end end
def index def index
@p_article_serial_nums = PArticleSerialNum.includes(:p_serial_num_type, :p_product_ref, :p_serial_num_value).all @p_article_serial_nums = PArticleSerialNum.all
if params[:search][:p_serial_num_type_name].present?
@p_article_serial_nums = @p_article_serial_nums.where(p_serial_num_type_id: params[:search][:p_serial_num_type_name])
if params[:search][:p_serial_num_type_name]
@p_article_serial_nums = @p_article_serial_nums.joins(:p_serial_num_type).where("name LIKE ?", "#{params[:search][:p_serial_num_type_name]}%")
end end
if params[:search][:p_product_ref_cc_name] if params[:search][:p_product_ref_cc_name]
@p_article_serial_nums = @p_article_serial_nums.joins(:p_article, :p_product_ref).where("cc_name LIKE ?","#{params[:search][:p_product_ref_cc_name]}%") @p_article_serial_nums = @p_article_serial_nums.joins(:p_article, :p_product_ref).where("cc_name LIKE ?","#{params[:search][:p_product_ref_cc_name]}%")
end end
if params[:search][:p_serial_num_value_value] if params[:search][:value]
@p_article_serial_nums = @p_article_serial_nums.joins(:p_serial_num_value).where("value LIKE ?","#{params[:search][:p_serial_num_value_value]}%") @p_article_serial_nums = @p_article_serial_nums.where("value LIKE ?","#{params[:search][:value]}%")
end end
@p_article_serial_nums = sort_by_sorting(@p_article_serial_nums, "id DESC") @p_article_serial_nums = sort_by_sorting(@p_article_serial_nums, "id DESC")
@ -45,7 +46,7 @@ class Admin::PArticleSerialNumsController < ApplicationController
def new def new
@p_article_serial_num = PArticleSerialNum.new @p_article_serial_num = PArticleSerialNum.new
@p_article_serial_num.build_p_serial_num_value # @p_article_serial_num.build_p_serial_num_value
end end
def edit def edit

View File

@ -33,8 +33,8 @@ class Admin::PArticlesController < ApplicationController
@p_articles = @p_articles.joins(:p_product_ref).where("cc_code LIKE ?", "#{params[:search][:p_product_ref_cc_code]}%") @p_articles = @p_articles.joins(:p_product_ref).where("cc_code LIKE ?", "#{params[:search][:p_product_ref_cc_code]}%")
end end
if params[:search][:p_serial_num_value] if params[:search][:p_article_serial_num]
@p_articles = @p_articles.joins(:p_serial_num_values).where("value LIKE ?", "#{params[:search][:p_serial_num_value]}%") @p_articles = @p_articles.joins(:p_article_serial_nums).where("value LIKE ?", "#{params[:search][:p_article_serial_num]}%")
end end
@ -61,7 +61,7 @@ class Admin::PArticlesController < ApplicationController
@p_article_serial_nums = @p_article.p_article_serial_nums.build @p_article_serial_nums = @p_article.p_article_serial_nums.build
@p_serial_num_type = @p_article_serial_nums.build_p_serial_num_type @p_serial_num_type = @p_article_serial_nums.build_p_serial_num_type
@p_serial_num_value = @p_article_serial_nums.build_p_serial_num_value # @p_serial_num_value = @p_article_serial_nums.build_p_serial_num_value
end end
def edit def edit

View File

@ -21,4 +21,8 @@ class PArticle < ApplicationRecord
:p_article_serial_nums => {:name => "N° identifiants"}, :p_article_serial_nums => {:name => "N° identifiants"},
:actions => {:name => "Actions", :reorder => false}, :actions => {:name => "Actions", :reorder => false},
} }
def member_label
"#{p_product_ref.cc_name}"
end
end end

View File

@ -3,16 +3,17 @@ class PArticleSerialNum < ApplicationRecord
belongs_to :p_serial_num_type belongs_to :p_serial_num_type
belongs_to :p_serial_num_value, inverse_of: :p_article_serial_nums belongs_to :p_serial_num_value, inverse_of: :p_article_serial_nums
has_one :p_product_ref, through: :p_article has_one :p_product_ref, through: :p_article
accepts_nested_attributes_for :p_serial_num_value # accepts_nested_attributes_for :p_serial_num_value
acts_as_sorting :fields => { acts_as_sorting :fields => {
:id => {:name => "ID"}, :id => {:name => "ID"},
:p_article => {:name => "Article", :reorder => true}, :p_article => {:name => "Article", :reorder => true},
:p_article_id => {:name => "Article ID", :reorder => true}, :p_article_id => {:name => "Article ID", :reorder => true},
:p_serial_num_type => {:name => "Type", :reorder => true}, :p_serial_num_type => {:name => "Type", :reorder => true},
:p_serial_num_value => {:name => "", :reorder => true}, :value => {:name => "", :reorder => true},
:actions => {:name => "Actions", :reorder => true} :actions => {:name => "Actions", :reorder => true}
} }
end end

View File

@ -2,4 +2,9 @@ class PSpecValue < ApplicationRecord
has_many :p_product_ref_specs has_many :p_product_ref_specs
UNITS = ["Go", "Mo"] UNITS = ["Go", "Mo"]
def member_label
"#{value} #{unit}"
end
end end

View File

@ -3,16 +3,17 @@
.content .content
=f.inputs do =f.inputs do
= f.input :p_article, as: :select, collection: PArticle.pluck(:id) ,:label => f.object.label_for(:p_article_id) = f.input :p_article, as: :select, collection: PArticle.all ,:label => f.object.label_for(:p_article_id), member_label: :member_label
= f.input :p_serial_num_type, :label => f.object.label_for(:p_serial_num_type) = f.input :p_serial_num_type_id, :label => "type", as: :select, collection: PSerialNumType.pluck(:name, :id)
= f.semantic_fields_for :p_serial_num_value do | form |
=render :partial => "admin/p_serial_num_values/form", :locals => {:f => form} = f.input :value
.actions=f.submit "sauvegarder", :class => "btn btn-primary" .actions=f.submit "sauvegarder", :class => "btn btn-primary"
- else - else
.p_article_serial_nums_form.field .p_article_serial_nums_form.field
=f.inputs do =form.inputs do
= f.input :p_serial_num_type, :label => "type", as: :select, collection: PSerialNumType.pluck(:name, :id) = form.input :p_serial_num_type_id, :label => "type", as: :select, collection: PSerialNumType.pluck(:name, :id)
= f.semantic_fields_for :p_serial_num_value do | form | = form.input :value
=render :partial => "admin/p_serial_num_values/form", :locals => {:f => form}

View File

@ -18,9 +18,9 @@
%td %td
= p_article_serial_num.p_serial_num_type.name = p_article_serial_num.p_serial_num_type.name
-tr[:p_serial_num_value] = capture do -tr[:value] = capture do
%td %td
= p_article_serial_num.p_serial_num_value.value = p_article_serial_num.value
-tr[:actions] = capture do -tr[:actions] = capture do

View File

@ -12,11 +12,12 @@
%table %table
%tr %tr
%td=text_field_tag "search[p_serial_num_type_name]", params[:search][:p_serial_num_type_name],:class => "form-control", :placeholder => "Type" %td Type :
%td=select_tag "search[p_serial_num_type_name]", options_for_select([["",""],["Aucune","null"]]+PSerialNumType.pluck(:name, :id), params[:search][:p_serial_num_type_name]), class: "custom-select"
%td=text_field_tag "search[p_product_ref_cc_name]", params[:search][:p_product_ref_cc_name],:class => "form-control", :placeholder => "Article" %td=text_field_tag "search[p_product_ref_cc_name]", params[:search][:p_product_ref_cc_name],:class => "form-control", :placeholder => "Article"
%td=text_field_tag "search[p_serial_num_value_value]", params[:search][:p_serial_num_value_value],:class => "form-control", :placeholder => "N° de serie" %td=text_field_tag "search[value]", params[:search][:value],:class => "form-control", :placeholder => "N° de serie"

View File

@ -4,8 +4,11 @@
=f.inputs do =f.inputs do
= f.input :p_product_ref, as: :select, collection: PProductRef.all.distinct, :label => f.object.label_for(:p_product_ref) = f.input :p_product_ref, as: :select, collection: PProductRef.all.distinct, :label => f.object.label_for(:p_product_ref)
= f.input :p_grade, as: :select, collection: PGrade.pluck(:grade, :id), :label => "Grade" = f.input :p_grade, as: :select, collection: PGrade.pluck(:grade, :id), :label => "Grade"
= f.semantic_fields_for :p_article_serial_nums do |f| %h4 Numero de série :
=render :partial => "admin/p_article_serial_nums/form", :locals => {:f => f} .p_article_serial_nums_form
= f.semantic_fields_for :p_article_serial_nums do |form|
=render :partial => "admin/p_article_serial_nums/form", :locals => {:form => form}
%p= link_to_add_fields "Ajouter un numéro de série", f, :p_article_serial_nums, {:class => "btn btn-primary"}

View File

@ -24,7 +24,8 @@
-tr[:p_article_serial_nums] = capture do -tr[:p_article_serial_nums] = capture do
%td %td
- p_article.p_article_serial_nums.each do |sn| - p_article.p_article_serial_nums.each do |sn|
= sn.p_serial_num_type.name + " : " + sn.p_serial_num_value.value = sn.p_serial_num_type.name + " : " + sn.value
%br
-tr[:actions] = capture do -tr[:actions] = capture do

View File

@ -16,7 +16,7 @@
%td=text_field_tag "search[p_product_ref_cc_name]", params[:search][:p_product_ref_cc_name],:class => "form-control", :placeholder => "Article" %td=text_field_tag "search[p_product_ref_cc_name]", params[:search][:p_product_ref_cc_name],:class => "form-control", :placeholder => "Article"
%td=text_field_tag "search[p_serial_num_value]", params[:search][:p_serial_num_value],:class => "form-control", :placeholder => "N° de serie" %td=text_field_tag "search[p_article_serial_num]", params[:search][:p_article_serial_num],:class => "form-control", :placeholder => "N° de serie"
%td.pl-2 Grade : %td.pl-2 Grade :
%td=select_tag "search[p_grade_id]", options_for_select([["",""],["Aucune","null"]]+PGrade.pluck(:grade, :id), params[:search][:p_grade_id]), class: "custom-select" %td=select_tag "search[p_grade_id]", options_for_select([["",""],["Aucune","null"]]+PGrade.pluck(:grade, :id), params[:search][:p_grade_id]), class: "custom-select"

View File

@ -21,9 +21,9 @@
-#form.object.p_spec_type = PSpecType.new if !form.object.p_spec_type -#form.object.p_spec_type = PSpecType.new if !form.object.p_spec_type
-#form.object.p_spec_value = PSpecValue.new if !form.object.p_spec_value -#form.object.p_spec_value = PSpecValue.new if !form.object.p_spec_value
= form.input :p_spec_type_id, :label => "Type", as: :select, collection: PSpecType::TYPES, :include_blank => false = form.input :p_spec_type_id, :label => "Type", as: :select, collection: PSpecType.all, :include_blank => false
%td %td
= form.input :p_spec_value_id, :label => "Valeur", as: :select, collection: PSpecValue.all, :include_blank => false = form.input :p_spec_value_id, :label => "Valeur", as: :select, collection: PSpecValue.all, :include_blank => false, :member_label => :member_label
=#form.inputs do =#form.inputs do

View File

@ -20,12 +20,6 @@
%td %td
=form.input :p_product_color_id, :label => "Couleur :", :collection => PProductColor.all, :as => :select, :include_blank => true =form.input :p_product_color_id, :label => "Couleur :", :collection => PProductColor.all, :as => :select, :include_blank => true
-if false
%td
=form.semantic_fields_for :p_spec_type do |f|
=render :partial => "admin/p_spec_types/form", :locals => {:f => f}
=form.semantic_fields_for :p_spec_value do |f|
=render :partial => "admin/p_spec_values/form", :locals => {:f => f}
%tr %tr