X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/efbdf52ccd4543b1e0f9eddecf8977e390c713c0..e70a89d293b3296da1c106fa9c1ee203b4956ece:/js/kivi.Order.js?ds=inline diff --git a/js/kivi.Order.js b/js/kivi.Order.js index e4cebb2f5..907e15bd3 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -174,6 +174,56 @@ namespace('kivi.Order', function(ns) { $(event.target).val(kivi.format_amount(kivi.parse_amount($(event.target).val()), -2)); }; + ns.update_exchangerate = function(event) { + if (!ns.check_cv()) { + $('#order_currency_id').val($('#old_currency_id').val()); + return; + } + + var rate_input = $('#order_exchangerate_as_null_number'); + rate_input.prop('disabled', true); + + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/update_exchangerate' }); + + $.ajax({ + url: 'controller.pl', + data: data, + method: 'POST', + dataType: 'json', + success: function(data){ + 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(); + } else { + rate_text.text(''); + rate_input.prop('disabled', false); + rate_input.show().val(''); + } + $('#exchangerate_settings').show(); + } else { + $('#exchangerate_settings').hide(); + } + 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' }); @@ -792,6 +842,10 @@ $(function() { $('#order_vendor_id').change(kivi.Order.reload_cv_dependent_selections); } + $('#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)) }); } else {