Ajout des checkboxes dans les bonnes colonnes.
Voir les commentaires #Nico pour l'explication
This commit is contained in:
parent
4d8e99aef9
commit
8be2ad4ce9
@ -88,7 +88,7 @@
|
|||||||
|
|
||||||
%tbody
|
%tbody
|
||||||
-# price_lines = f.object.price_lines
|
-# price_lines = f.object.price_lines
|
||||||
|
-price_lines_child_index = {}
|
||||||
-consult_price_lines = @price_document.price_line_block.price_lines
|
-consult_price_lines = @price_document.price_line_block.price_lines
|
||||||
=f.semantic_fields_for :price_lines do |form|
|
=f.semantic_fields_for :price_lines do |form|
|
||||||
- price_line = form.object
|
- price_line = form.object
|
||||||
@ -134,10 +134,19 @@
|
|||||||
/ Date du px de référence
|
/ Date du px de référence
|
||||||
%td.limit
|
%td.limit
|
||||||
/ spec
|
/ spec
|
||||||
=#form.object.price_line_resp_ids
|
|
||||||
=#form.text_field :price_line_demand_id
|
=#form.input :price_line_resp_ids, collection: PriceLine.where(:price_line_ref_id => form.object.id).all, as: :check_boxes , :member_label => :id
|
||||||
=#form.input :price_line_resp_id, collection: PriceLine.where(:price_line_demand_id => form.object.id).all, as: :check_boxes, :member_label => :id
|
|
||||||
=form.input :price_line_resp_ids, collection: PriceLine.where(:price_line_ref_id => form.object.id).all, as: :check_boxes , :member_label => :id
|
-#NICO : j'ai commenté l'input qu'on a fait ensemble, par contre, pour toute la suite, j'ai en fait fait un copié collé du rendu de cet inpu ou j'ai remis les champs dynamics en correspondance.
|
||||||
|
|
||||||
|
|
||||||
|
-#NICO : j'ai créé un hash plus haut, vide, qui va me permettre de faire correspondre à chaque ID de price_line leur index dans le nested form (qui est différent, une itération, de l'ID de l'élement... Là c'est la magie de rails.)
|
||||||
|
- price_lines_child_index[form.object.id.to_s] = form.options[:child_index]
|
||||||
|
|
||||||
|
|
||||||
|
-#Nico : je commence, pour chaque price line, par faire une checkbox vide. J'aurais pu faire un checkbox tag mais par facilité j'ai copé l'HTML dans HTML2HAML et je suis partid du résultat. Les checkboxes sont ensuite dans ta boucle
|
||||||
|
%input{:autocomplete => "off", :id => "price_document[price_line_block_attributes][price_lines_attributes][#{form.options[:child_index] }]_price_line_resp_ids_none", :name => "price_document[price_line_block_attributes][price_lines_attributes][#{form.options[:child_index] }][price_line_resp_ids][]", :type => "hidden", :value => ""}/
|
||||||
|
|
||||||
- @price_document_responses.each do |resp|
|
- @price_document_responses.each do |resp|
|
||||||
-line = resp.price_line_block.price_lines.where(p_product_ref: price_line.p_product_ref).first
|
-line = resp.price_line_block.price_lines.where(p_product_ref: price_line.p_product_ref).first
|
||||||
-cell = []
|
-cell = []
|
||||||
@ -167,7 +176,16 @@
|
|||||||
|
|
||||||
%td.p-0
|
%td.p-0
|
||||||
= "reponse price_line ID : #{line.id}"
|
= "reponse price_line ID : #{line.id}"
|
||||||
=#form.input :selected_price_offer, as: :radio
|
= "price line origine : #{line.price_line_ref_id}" #NICO : simple contrôle, je récupère facilement par là l'ID de la price Line concernée.
|
||||||
|
|
||||||
|
-#NICO : si on a un price_line_ref_id, j'ajoute la case à cocher. Je récupère l'index de nested form dans mon hash, et je passe en value le line.id
|
||||||
|
-if line.price_line_ref_id.to_s != ""
|
||||||
|
%br
|
||||||
|
%label{:for => "price_document_price_line_block_attributes_price_lines_attributes_#{price_lines_child_index[line.price_line_ref_id.to_s]}_price_line_resp_ids_#{line.id}"}
|
||||||
|
%input{:id => "price_document_price_line_block_attributes_price_lines_attributes_#{price_lines_child_index[line.price_line_ref_id.to_s]}_price_line_resp_ids_#{line.id}" , :autocomplete => "off", :checked => ("checked" if PriceLine.find(line.price_line_ref_id).price_line_resp_ids.include?(line.id) ), :name => "price_document[price_line_block_attributes][price_lines_attributes][#{price_lines_child_index[line.price_line_ref_id.to_s]}][price_line_resp_ids][]", :type => "checkbox", :value => line.id}>/
|
||||||
|
=line.id
|
||||||
|
|
||||||
|
|
||||||
= radio_button_tag "ref_price_selected_#{price_line.p_product_ref.id}", line.id, false, class: "category-selector"
|
= radio_button_tag "ref_price_selected_#{price_line.p_product_ref.id}", line.id, false, class: "category-selector"
|
||||||
= label_tag "ref_price_selected_#{price_line.p_product_ref.id}_#{line.id}", sanitize(cell.join('<br>')), class: "p-2 m-auto"
|
= label_tag "ref_price_selected_#{price_line.p_product_ref.id}_#{line.id}", sanitize(cell.join('<br>')), class: "p-2 m-auto"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user