diff --git a/app/controllers/admin/p_article_serial_nums_controller.rb b/app/controllers/admin/p_article_serial_nums_controller.rb index 3663027..d7ecbf7 100644 --- a/app/controllers/admin/p_article_serial_nums_controller.rb +++ b/app/controllers/admin/p_article_serial_nums_controller.rb @@ -11,18 +11,19 @@ class Admin::PArticleSerialNumsController < ApplicationController end 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 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]}%") end - if params[:search][:p_serial_num_value_value] - @p_article_serial_nums = @p_article_serial_nums.joins(:p_serial_num_value).where("value LIKE ?","#{params[:search][:p_serial_num_value_value]}%") + if params[:search][:value] + @p_article_serial_nums = @p_article_serial_nums.where("value LIKE ?","#{params[:search][:value]}%") end @p_article_serial_nums = sort_by_sorting(@p_article_serial_nums, "id DESC") @@ -45,7 +46,7 @@ class Admin::PArticleSerialNumsController < ApplicationController def 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 def edit diff --git a/app/controllers/admin/p_articles_controller.rb b/app/controllers/admin/p_articles_controller.rb index ef8b79a..0e40f7a 100644 --- a/app/controllers/admin/p_articles_controller.rb +++ b/app/controllers/admin/p_articles_controller.rb @@ -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]}%") end - if params[:search][:p_serial_num_value] - @p_articles = @p_articles.joins(:p_serial_num_values).where("value LIKE ?", "#{params[:search][:p_serial_num_value]}%") + if params[:search][:p_article_serial_num] + @p_articles = @p_articles.joins(:p_article_serial_nums).where("value LIKE ?", "#{params[:search][:p_article_serial_num]}%") end @@ -61,7 +61,7 @@ class Admin::PArticlesController < ApplicationController @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_value = @p_article_serial_nums.build_p_serial_num_value + # @p_serial_num_value = @p_article_serial_nums.build_p_serial_num_value end def edit diff --git a/app/models/p_article.rb b/app/models/p_article.rb index f1a0294..f301d09 100644 --- a/app/models/p_article.rb +++ b/app/models/p_article.rb @@ -21,4 +21,8 @@ class PArticle < ApplicationRecord :p_article_serial_nums => {:name => "N° identifiants"}, :actions => {:name => "Actions", :reorder => false}, } + + def member_label + "#{p_product_ref.cc_name}" + end end diff --git a/app/models/p_article_serial_num.rb b/app/models/p_article_serial_num.rb index 5941588..b17ef22 100644 --- a/app/models/p_article_serial_num.rb +++ b/app/models/p_article_serial_num.rb @@ -3,16 +3,17 @@ class PArticleSerialNum < ApplicationRecord belongs_to :p_serial_num_type belongs_to :p_serial_num_value, inverse_of: :p_article_serial_nums 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 => { :id => {:name => "ID"}, :p_article => {:name => "Article", :reorder => true}, :p_article_id => {:name => "Article ID", :reorder => true}, :p_serial_num_type => {:name => "Type", :reorder => true}, - :p_serial_num_value => {:name => "N°", :reorder => true}, + :value => {:name => "N°", :reorder => true}, :actions => {:name => "Actions", :reorder => true} } + end diff --git a/app/models/p_spec_value.rb b/app/models/p_spec_value.rb index a44875c..dd0809e 100644 --- a/app/models/p_spec_value.rb +++ b/app/models/p_spec_value.rb @@ -2,4 +2,9 @@ class PSpecValue < ApplicationRecord has_many :p_product_ref_specs UNITS = ["Go", "Mo"] + + def member_label + "#{value} #{unit}" + end + end diff --git a/app/views/admin/p_article_serial_nums/_form.html.haml b/app/views/admin/p_article_serial_nums/_form.html.haml index 34d893a..545dbdf 100644 --- a/app/views/admin/p_article_serial_nums/_form.html.haml +++ b/app/views/admin/p_article_serial_nums/_form.html.haml @@ -3,16 +3,17 @@ .content =f.inputs do - = f.input :p_article, as: :select, collection: PArticle.pluck(:id) ,:label => f.object.label_for(:p_article_id) - = f.input :p_serial_num_type, :label => f.object.label_for(:p_serial_num_type) - = f.semantic_fields_for :p_serial_num_value do | form | - =render :partial => "admin/p_serial_num_values/form", :locals => {:f => form} + = 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_id, :label => "type", as: :select, collection: PSerialNumType.pluck(:name, :id) + + = f.input :value + .actions=f.submit "sauvegarder", :class => "btn btn-primary" - else .p_article_serial_nums_form.field - =f.inputs do - = f.input :p_serial_num_type, :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} + =form.inputs do + = form.input :p_serial_num_type_id, :label => "type", as: :select, collection: PSerialNumType.pluck(:name, :id) + = form.input :value + diff --git a/app/views/admin/p_article_serial_nums/_p_article_serial_num.html.haml b/app/views/admin/p_article_serial_nums/_p_article_serial_num.html.haml index 59de1cd..08acd41 100644 --- a/app/views/admin/p_article_serial_nums/_p_article_serial_num.html.haml +++ b/app/views/admin/p_article_serial_nums/_p_article_serial_num.html.haml @@ -18,9 +18,9 @@ %td = p_article_serial_num.p_serial_num_type.name - -tr[:p_serial_num_value] = capture do + -tr[:value] = capture do %td - = p_article_serial_num.p_serial_num_value.value + = p_article_serial_num.value -tr[:actions] = capture do diff --git a/app/views/admin/p_article_serial_nums/index.html.haml b/app/views/admin/p_article_serial_nums/index.html.haml index 9d294bd..0c3ea96 100644 --- a/app/views/admin/p_article_serial_nums/index.html.haml +++ b/app/views/admin/p_article_serial_nums/index.html.haml @@ -12,11 +12,12 @@ %table %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_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" diff --git a/app/views/admin/p_articles/_form.html.haml b/app/views/admin/p_articles/_form.html.haml index f336fa7..3bec92b 100644 --- a/app/views/admin/p_articles/_form.html.haml +++ b/app/views/admin/p_articles/_form.html.haml @@ -4,8 +4,11 @@ =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_grade, as: :select, collection: PGrade.pluck(:grade, :id), :label => "Grade" - = f.semantic_fields_for :p_article_serial_nums do |f| - =render :partial => "admin/p_article_serial_nums/form", :locals => {:f => f} + %h4 Numero de série : + .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"} diff --git a/app/views/admin/p_articles/_p_article.html.haml b/app/views/admin/p_articles/_p_article.html.haml index f3631af..8d4a1ed 100644 --- a/app/views/admin/p_articles/_p_article.html.haml +++ b/app/views/admin/p_articles/_p_article.html.haml @@ -24,7 +24,8 @@ -tr[:p_article_serial_nums] = capture do %td - 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 diff --git a/app/views/admin/p_articles/index.html.haml b/app/views/admin/p_articles/index.html.haml index 2123172..0064c5c 100644 --- a/app/views/admin/p_articles/index.html.haml +++ b/app/views/admin/p_articles/index.html.haml @@ -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_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=select_tag "search[p_grade_id]", options_for_select([["",""],["Aucune","null"]]+PGrade.pluck(:grade, :id), params[:search][:p_grade_id]), class: "custom-select" diff --git a/app/views/admin/p_product_ref_specs/_form.html.haml b/app/views/admin/p_product_ref_specs/_form.html.haml index 5c9ea2d..ffde9d3 100644 --- a/app/views/admin/p_product_ref_specs/_form.html.haml +++ b/app/views/admin/p_product_ref_specs/_form.html.haml @@ -21,9 +21,9 @@ -#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.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 - = 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 diff --git a/app/views/admin/p_product_refs/_form.html.haml b/app/views/admin/p_product_refs/_form.html.haml index b058492..b7ff800 100644 --- a/app/views/admin/p_product_refs/_form.html.haml +++ b/app/views/admin/p_product_refs/_form.html.haml @@ -20,12 +20,6 @@ %td =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