34 lines
1.4 KiB
Text
34 lines
1.4 KiB
Text
.fold-line
|
|
= f.input :price do
|
|
.input-prepend
|
|
%span.add-on= t 'number.currency.format.unit'
|
|
= f.input_field :price, class: 'input-mini'
|
|
= f.input :tax do
|
|
.input-append
|
|
= f.input_field :tax, class: 'input-mini'
|
|
%span.add-on %
|
|
.fold-line
|
|
= f.input :deposit do
|
|
.input-prepend
|
|
%span.add-on= t 'number.currency.format.unit'
|
|
= f.input_field :deposit, class: 'input-mini'
|
|
.control-group
|
|
%label.control-label{for: 'article_fc_price'}
|
|
= Article.human_attribute_name(:fc_price)
|
|
.controls.control-text#article_fc_price
|
|
= number_to_currency(f.object.fc_price) rescue nil
|
|
|
|
-# do this inline, since it's being used in ajax forms only
|
|
- field = f.object.class.model_name.underscore
|
|
:javascript
|
|
var form = $('#article_fc_price').closest('form');
|
|
$('##{field}_price, ##{field}_tax, ##{field}_deposit', form).on('change keyup', function() {
|
|
var price = parseFloat($('##{field}_price', form).val());
|
|
var tax = parseFloat($('##{field}_tax', form).val());
|
|
var deposit = parseFloat($('##{field}_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);
|
|
$('#article_fc_price').html($.isNumeric(fc_price) ? I18n.l("currency", fc_price) : '…');
|
|
});
|
|
|