form and menu for p_spec

This commit is contained in:
Barnabé 2021-08-27 10:44:15 +02:00
parent c1d3c255ee
commit bc96c5bc23
10 changed files with 59 additions and 33 deletions

View File

@ -33,6 +33,8 @@ class Admin::PProductRefSpecsController < ApplicationController
def new def new
@p_product_ref_spec = PProductRefSpec.new @p_product_ref_spec = PProductRefSpec.new
@p_product_ref_spec.build_p_spec_type
@p_product_ref_spec.build_p_spec_value
end end

View File

@ -99,6 +99,7 @@ class ApplicationController < ActionController::Base
if current_admin.has_permission?("boutique") if current_admin.has_permission?("boutique")
set_sub_menu :stocks, :p_product_colors, "Couleurs" 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, "Numero série"
set_sub_menu :stocks, :p_product_ref_specs, "Specs"
set_sub_menu :stocks, :p_product_powers, "Types de chargeurs" set_sub_menu :stocks, :p_product_powers, "Types de chargeurs"
set_sub_menu :stocks, :p_product_zones, "Zones produits" set_sub_menu :stocks, :p_product_zones, "Zones produits"

View File

@ -9,10 +9,14 @@ class PProductRef < ApplicationRecord
has_many :p_product_ref_price_histories has_many :p_product_ref_price_histories
belongs_to :p_product_color belongs_to :p_product_color
has_many :p_articles has_many :p_articles
has_many :p_article_serial_nums, through: :p_articles has_many :p_article_serial_nums, through: :p_articles
accepts_nested_attributes_for :p_article_serial_nums, allow_destroy: true accepts_nested_attributes_for :p_article_serial_nums, allow_destroy: true
has_many :p_product_ref_specs
accepts_nested_attributes_for :p_product_ref_specs, allow_destroy: true
#validates :ct_price_ht, :presence => true #validates :ct_price_ht, :presence => true
@ -67,7 +71,9 @@ class PProductRef < ApplicationRecord
def ca_name def ca_name
self.p_product.name if self.p_product if self.p_product
self.p_product.name + " - " + self.ct_sub_name
end
end end
def ca_code def ca_code

View File

@ -2,4 +2,17 @@ class PProductRefSpec < ApplicationRecord
belongs_to :p_product_ref belongs_to :p_product_ref
belongs_to :p_spec_type belongs_to :p_spec_type
belongs_to :p_spec_value belongs_to :p_spec_value
accepts_nested_attributes_for :p_spec_type, :p_spec_value
acts_as_sorting :fields => {
:id => {:name => "ID"},
:p_product_ref => {:name => "Référence produit", :reorder => true},
:p_product_ref_id => {:name => "ID Ref produit", :reorder => true},
:p_spec_type => {:name => "Type", :reorder => true},
:p_spec_value => {:name => "Valeur", :reorder => true},
:actions => {:name => "Actions", :reorder => true}
}
end end

View File

@ -1,2 +1,5 @@
class PSpecType < ApplicationRecord class PSpecType < ApplicationRecord
has_many :p_product_ref_specs
TYPES = ["Ram", "Stockage"]
end end

View File

@ -1,2 +1,5 @@
class PSpecValue < ApplicationRecord class PSpecValue < ApplicationRecord
has_many :p_product_ref_specs
UNITS = ["Go", "Mo"]
end end

View File

@ -2,9 +2,12 @@
.content .content
=f.inputs do =f.inputs do
= f.input :p_product_ref, :label => f.object.label_for(:p_product_ref) = f.input :p_product_ref, as: :select, collection: PProductRef.pluck(:cc_name, :id) ,:label => f.object.label_for(:p_product_ref)
= f.input :p_spec_type, :label => f.object.label_for(:p_spec_type) = f.semantic_fields_for :p_spec_type do | form |
= f.input :p_spec_value, :label => f.object.label_for(:p_spec_value) =render :partial => "admin/p_spec_types/form", :locals => {:f => form}
= f.semantic_fields_for :p_spec_value do | form |
=render :partial => "admin/p_spec_values/form", :locals => {:f => form}
/ = f.input :p_spec_value, :label => f.object.label_for(:p_spec_value)

View File

@ -1,5 +1,20 @@
%tr#p_product_ref_spec_row{:id => p_product_ref_spec.id} %tr#p_product_ref_spec_row{:id => p_product_ref_spec.id}
-tr = {} -tr = {}
-tr[:p_product_ref] = capture do
%td
= p_product_ref_spec.p_product_ref.cc_name
-tr[:p_product_ref_id] = capture do
%td
= p_product_ref_spec.p_product_ref.id
-tr[:p_spec_type] = capture do
%td
= p_product_ref_spec.p_spec_type.name
-tr[:p_spec_value] = capture do
%td
= p_product_ref_spec.p_spec_value.value
= p_product_ref_spec.p_spec_value.unit
-tr[:actions] = capture do -tr[:actions] = capture do
%td.actions %td.actions

View File

@ -1,12 +1,2 @@
=semantic_form_for [:admin, @p_spec_type], :remote => true do |f|
.content
=f.inputs do =f.inputs do
= f.input :type, :label => f.object.label_for(:type) = f.input :name, :label => "Type", as: :select, collection: PSpecType::TYPES
.actions=f.submit "sauvegarder", :class => "btn btn-primary"

View File

@ -1,13 +1,3 @@
=semantic_form_for [:admin, @p_spec_value], :remote => true do |f|
.content
=f.inputs do =f.inputs do
= f.input :value, :label => f.object.label_for(:value) = f.input :value, :label => "Valeur"
= f.input :unit, :label => f.object.label_for(:unit) = f.input :unit, :label => "Unité", as: :select, collection: PSpecValue::UNITS
.actions=f.submit "sauvegarder", :class => "btn btn-primary"