= simple_form_for [@supplier, @article], :validate => true, :remote => true do |f| = f.hidden_field :shared_updated_on = f.hidden_field :supplier_id .modal-header = link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'} %h3= @article.new_record? ? t('.title_new') : t('.title_edit') .modal-body = f.input :availability = f.input :name = f.input :unit do .inline-inputs = f.input_field :unit_quantity, class: 'input-mini', title: Article.human_attribute_name(:unit_quantity) × = f.input_field :unit, class: 'input-mini', title: Article.human_attribute_name(:unit) = f.input :note = f.association :article_category / TODO labels = f.input :price do .inline-inputs .input-prepend %span.add-on= t 'number.currency.format.unit' = f.input_field :price, class: 'input-mini' .input-prepend = f.label :tax .input-append = f.input_field :tax, class: 'input-mini' %span.add-on % = f.input :deposit do .inline-inputs .input-prepend %span.add-on= t 'number.currency.format.unit' = f.input_field :deposit, class: 'input-mini' %span#gross_price{style: 'margin-left: 10px'} = Article.human_attribute_name(:fc_price) %span#fc_price= number_to_currency(@article.fc_price) rescue nil = f.input :origin = f.input :manufacturer = f.input :order_number .modal-footer = link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'} = f.submit class: 'btn btn-primary' :javascript var form = $('form.edit_article, form.new_article'); $('#article_price, #article_tax, #article_deposit', form).on('change keyup', function() { var price = parseFloat($('#article_price', form).val()); var tax = parseFloat($('#article_tax', form).val()); var deposit = parseFloat($('#article_deposit', form).val()); // Article#gross_price and Article#fc_price var gross_price = (price + deposit) * (tax / 100 + 1); var fc_price = gross_price * (#{FoodsoftConfig[:price_markup].to_f} / 100 + 1); $('#fc_price').html($.isNumeric(fc_price) ? I18n.l("currency", fc_price) : '…'); });