.qi_pannel.qi_plain.padding.price_line_form.col-12.field{:style =>"border-left:4px solid gray;margin-bottom:10px;padding-left:5px;"} = form.input :ct_title, :label => "Designation personnalisée : " if @avoir %table %tr %td{:class => ("error has-error" if form.object.errors[:p_product_ref_id].size > 0 )} .take.mr-1 =ic :arrows %td = form.input :ct_title, :label => "Designation personnalisée : " if @avoir -key = SecureRandom.hex(6) %label.ml-3.mr-2 Produit : %td %input.p_product_ref_autocomplete_input.form-control{:type => "text", tabindex: 1, autofocus: true, :value => ("#{form.object.p_product_ref.ref} #{form.object.p_product_ref.cc_name}" if form.object.p_product_ref), :class => "p_product_ref_name_#{key}"} = form.hidden_field :p_product_ref_id, :class => "p_product_ref_id p_product_ref_id_#{key}" %td =link_to ic(:search), "#", class: "ml-2",:onclick => "select_product_from_manager('#{key}');return false;" -form.object.forced_price = true if form.object.ct_u_price_ht -if form.object.forced_price and form.object.p_product_ref %td .mx-2 .form-inline =qi_js_field_price_line_form(form, :price_line, :price_u_ht, :label => "Prix U HT :", label_class: "mr-1", :value => form.object.th_price_u_ht) -else %td .mx-2 .form-inline =qi_js_field_price_line_form(form, :price_line, :price_u_ht, :label => "Prix U HT :", label_class: "mr-1") %td .form-inline.mr-2{:style => ("display:none;" if !current_admin or !current_admin.has_permission?("customer-sheets-personalised-price"))} = form.input :forced_price, :label => "Prix personnalisé ?", :as => :boolean, :input_html => {:class => "form-inline input_price_line_forced_price"} .forced_price_wrapper.mx-2{:style => ("display:none;" if !form.object.forced_price)}= form.input :ct_u_price_ht, :label => false, :input_html => {:class => "input_price_line_ct_u_price_ht"} %td .mx-2.form-inline = form.input :qte, :label => "qte :", :input_html => {:class => "input_price_line_qte form-control mx-2", tabindex: 1} = form.hidden_field :p_product_ref_id, :class => "p_product_ref_id" %td .form-inline %label.mx-2 Taux de TVA : =select_tag :tva_account_id, options_from_collection_for_select(TvaRate.where(:accounting_zone_id => (@p_customer ? @p_customer.accounting_zone_id : nil)).all, "id", "member_label", form.object.tva_account_id), :class => "input_price_line_tva_account_id form-control custom-select" #, :disabled => true %td .ml-4 %span.destroy=link_to_remove_fields ic(:"trash-o"), form =qi_js_field(form, :price_line, :tva_account_value, :hidden => true) = form.hidden_field :position, :class => "price_line_position_input" :javascript $('.p_product_ref_autocomplete_input').focus() $( function() { $('.p_product_ref_autocomplete_input').autocomplete({ source: function( request, response ) { $.ajax( { url: "/admin/p_product_refs/autocomplete.json", dataType: "json", data: { search: request.term, p_customer_id: $(".p_customer_id").val() }, success: function(data){ arr = jQuery.map( data, function( item ) { return { label: item.member_label, value: item.member_label, id: item.id } }); response(arr) } }); }, minLength: 2, select: function( event, ui ) { $(this).next(".p_product_ref_id").val(ui.item.id) form = $(this).closest(".price_line_form") $.ajax( { url: "/admin/p_product_refs/"+ui.item.id+"/get_infos.json", dataType: "json", data: { type: "price", qte: form.find(".input_price_line_qte").val(), p_customer_id: $(".p_customer_id").val() }, success: function (data) { form.find(".input_price_line_price_u_ht").val(data.price); form.find(".input_price_line_tva_account_id").val(data.tva_account_id); form.find(".input_price_line_tva_account_value").val(data.tva_account_value); form.find(".input_price_line_weight_u").val(data.weight); } }); //return false } }); });