X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4b1666b74b0fa70077c64144a57526a1d64b4e64..199bd497fa158b819070767fa737b2e23d164b96:/js/kivi.Order.js diff --git a/js/kivi.Order.js b/js/kivi.Order.js index 682a14b26..580ff50d7 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -164,6 +164,7 @@ namespace('kivi.Order', function(ns) { }; ns.reload_cv_dependent_selections = function() { + $('#order_shipto_id').val(''); var data = $('#order_form').serializeArray(); data.push({ name: 'action', value: 'Order/customer_vendor_changed' }); @@ -174,9 +175,29 @@ namespace('kivi.Order', function(ns) { $(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' }); @@ -187,22 +208,21 @@ namespace('kivi.Order', function(ns) { 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); @@ -210,6 +230,13 @@ namespace('kivi.Order', function(ns) { }); }; + 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' }); @@ -819,6 +846,12 @@ namespace('kivi.Order', function(ns) { return true; }; + ns.edit_custom_shipto = function() { + if (!ns.check_cv()) return; + + kivi.SalesPurchase.edit_custom_shipto(); + }; + }); $(function() { @@ -829,7 +862,8 @@ $(function() { } $('#order_currency_id').change(kivi.Order.update_exchangerate); - $('#order_transdate').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)) }); @@ -877,4 +911,6 @@ $(function() { return false; }); + $('.reformat_number_as_null_number').change(kivi.Order.reformat_number_as_null_number); + });