From d597960ba9a2450f8ca38390c7d0fbd25a1e5a05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A9?= Date: Fri, 27 Aug 2021 19:43:54 +0200 Subject: [PATCH] add grade form & menu --- app/controllers/admin/p_serial_num_types_controller.rb | 2 +- app/controllers/application_controller.rb | 3 ++- app/models/p_article.rb | 4 ++++ app/models/p_grade.rb | 8 ++++++++ app/views/admin/p_articles/_form.html.haml | 1 + app/views/admin/p_articles/_p_article.html.haml | 3 +++ app/views/admin/p_serial_num_types/index.html.haml | 4 ++-- 7 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/p_serial_num_types_controller.rb b/app/controllers/admin/p_serial_num_types_controller.rb index 34a1208..ef1f006 100644 --- a/app/controllers/admin/p_serial_num_types_controller.rb +++ b/app/controllers/admin/p_serial_num_types_controller.rb @@ -14,7 +14,7 @@ class Admin::PSerialNumTypesController < ApplicationController @p_serial_num_types = PSerialNumType.all if params[:search][:name] - @p_serial_num_types = @p_serial_num_types.where("name LIKE ?","#{params[:search][:name]}%") + @p_serial_num_types = @p_serial_num_types.where("id = ?","#{params[:search][:name]}%") end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 8ff974b..3ff8eaa 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -98,9 +98,10 @@ class ApplicationController < ActionController::Base if current_admin.has_permission?("boutique") set_sub_menu :stocks, :p_product_colors, "Couleurs" - set_sub_menu :stocks, :p_article_serial_nums, "Numero série" + set_sub_menu :stocks, :p_article_serial_nums, "Numeros série" set_sub_menu :stocks, :p_serial_num_types, "Types de Numero série" set_sub_menu :stocks, :p_product_ref_specs, "Specs" + set_sub_menu :stocks, :p_grades, "Grades" set_sub_menu :stocks, :p_product_powers, "Types de chargeurs" set_sub_menu :stocks, :p_product_zones, "Zones produits" diff --git a/app/models/p_article.rb b/app/models/p_article.rb index 3464c36..f1a0294 100644 --- a/app/models/p_article.rb +++ b/app/models/p_article.rb @@ -1,10 +1,13 @@ class PArticle < ApplicationRecord + belongs_to :p_grade belongs_to :p_product_ref has_one :p_product, through: :p_product_ref has_one :p_product_color, through: :p_product_ref + has_many :p_article_serial_nums, dependent: :destroy has_many :p_serial_num_values, through: :p_article_serial_nums accepts_nested_attributes_for :p_article_serial_nums + validates_presence_of :p_product_ref # has_many :p_product_ref_specs, through: :p_product_ref # accepts_nested_attributes_for :p_product_ref_specs @@ -13,6 +16,7 @@ class PArticle < ApplicationRecord :id => {:name => "id", :reorder => true}, :p_product_ref_code => {:name => "Code ref", :reorder => true}, :p_product_ref => {:name => "Désignation", :reorder => true}, + :p_grade => {:name => "Grade", :reorder => true}, :color => {:name => "Couleur"}, :p_article_serial_nums => {:name => "N° identifiants"}, :actions => {:name => "Actions", :reorder => false}, diff --git a/app/models/p_grade.rb b/app/models/p_grade.rb index a60cee5..949f5e1 100644 --- a/app/models/p_grade.rb +++ b/app/models/p_grade.rb @@ -1,2 +1,10 @@ class PGrade < ApplicationRecord + has_many :p_articles + + acts_as_sorting :fields => { + :id => {:name => "id", :reorder => true}, + :grade => {:name => "Grade", :reorder => true}, + :actions => {:name => "Actions", :reorder => false}, + } + end diff --git a/app/views/admin/p_articles/_form.html.haml b/app/views/admin/p_articles/_form.html.haml index f89186c..f336fa7 100644 --- a/app/views/admin/p_articles/_form.html.haml +++ b/app/views/admin/p_articles/_form.html.haml @@ -3,6 +3,7 @@ .content =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} diff --git a/app/views/admin/p_articles/_p_article.html.haml b/app/views/admin/p_articles/_p_article.html.haml index 13e29ca..f3631af 100644 --- a/app/views/admin/p_articles/_p_article.html.haml +++ b/app/views/admin/p_articles/_p_article.html.haml @@ -5,6 +5,9 @@ %td = p_article.p_product_ref.code + -tr[:p_grade] = capture do + %td + = p_article.p_grade.grade -tr[:color] = capture do %td diff --git a/app/views/admin/p_serial_num_types/index.html.haml b/app/views/admin/p_serial_num_types/index.html.haml index 522508d..80034b4 100644 --- a/app/views/admin/p_serial_num_types/index.html.haml +++ b/app/views/admin/p_serial_num_types/index.html.haml @@ -12,8 +12,8 @@ %table %tr - - %td=text_field_tag "search[name]", params[:search][:name],:class => "form-control", :placeholder => "Type" + %td Type : + %td=select_tag "search[name]", options_for_select([["",""],["Aucune","null"]]+PSerialNumType.pluck(:name, :id), params[:search][:name]), class: "custom-select" =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @p_serial_num_types}