};
ns.reload_cv_dependent_selections = function() {
+ $('#order_shipto_id').val('');
var data = $('#order_form').serializeArray();
data.push({ name: 'action', value: 'Order/customer_vendor_changed' });
$(event.target).val(kivi.format_amount(kivi.parse_amount($(event.target).val()), -2));
};
+ ns.reformat_number_as_null_number = function(event) {
+ if ($(event.target).val() === '') {
+ return;
+ }
+ ns.reformat_number(event);
+ };
+
ns.update_exchangerate = function(event) {
- var rate_input = $('#order_exchangerate_as_number');
- rate_input.attr('name', '');
+ if (!ns.check_cv()) {
+ $('#order_currency_id').val($('#old_currency_id').val());
+ return;
+ }
+
+ var rate_input = $('#order_exchangerate_as_null_number');
+ // unset exchangerate if currency changed
+ if ($('#order_currency_id').val() !== $('#old_currency_id').val()) {
+ rate_input.val('');
+ }
+
+ // only set exchangerate if unset
+ if (rate_input.val() !== '') {
+ return;
+ }
var data = $('#order_form').serializeArray();
data.push({ name: 'action', value: 'Order/update_exchangerate' });
method: 'POST',
dataType: 'json',
success: function(data){
- if (data.currency_name) {
+ if (!data.is_standard) {
$('#currency_name').text(data.currency_name);
- var rate_text = $('#exchangerate_text');
if (data.exchangerate) {
- rate_text.text(data.exchangerate);
- rate_input.hide();
+ rate_input.val(data.exchangerate);
} else {
- rate_text.text('');
- rate_input.show().attr('name', rate_input.data('name')).val(0);
+ rate_input.val('');
}
$('#exchangerate_settings').show();
} else {
+ rate_input.val('');
$('#exchangerate_settings').hide();
}
- if ($('#order_currency_id').val() != $('#old_currency_id').val() || data.exchangerate != $('#old_exchangerate').val()) {
- kivi.display_flash('warning', kivi.t8('You have changed the currency. Please update prices.'));
+ if ($('#order_currency_id').val() != $('#old_currency_id').val() ||
+ !data.is_standard && data.exchangerate != $('#old_exchangerate').val()) {
+ kivi.display_flash('warning', kivi.t8('You have changed the currency or exchange rate. Please check prices.'));
}
$('#old_currency_id').val($('#order_currency_id').val());
$('#old_exchangerate').val(data.exchangerate);
});
};
+ ns.exchangerate_changed = function(event) {
+ if (kivi.parse_amount($('#order_exchangerate_as_null_number').val()) != kivi.parse_amount($('#old_exchangerate').val())) {
+ kivi.display_flash('warning', kivi.t8('You have changed the currency or exchange rate. Please check prices.'));
+ $('#old_exchangerate').val($('#order_exchangerate_as_null_number').val());
+ }
+ };
+
ns.recalc_amounts_and_taxes = function() {
var data = $('#order_form').serializeArray();
data.push({ name: 'action', value: 'Order/recalc_amounts_and_taxes' });
return true;
};
+ ns.edit_custom_shipto = function() {
+ if (!ns.check_cv()) return;
+
+ kivi.SalesPurchase.edit_custom_shipto();
+ };
+
});
$(function() {
$('#order_currency_id').change(kivi.Order.update_exchangerate);
$('#order_transdate_as_date').change(kivi.Order.update_exchangerate);
+ $('#order_exchangerate_as_null_number').change(kivi.Order.exchangerate_changed);
if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) {
$('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.sellprice, -2)) });
return false;
});
+ $('.reformat_number_as_null_number').change(kivi.Order.reformat_number_as_null_number);
+
});