Auftragsschnellerfassung: Korrekturen für Währung/Wechselkurs
[kivitendo-erp.git] / js / kivi.Order.js
index 7b06fec..5f83a79 100644 (file)
@@ -175,8 +175,8 @@ namespace('kivi.Order', function(ns) {
   };
 
   ns.update_exchangerate = function(event) {
-    var rate_input = $('#order_exchangerate_as_number');
-    rate_input.attr('name', '');
+    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' });
@@ -187,7 +187,7 @@ 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) {
@@ -195,13 +195,18 @@ namespace('kivi.Order', function(ns) {
             rate_input.hide();
           } else {
             rate_text.text('');
-            rate_input.show().attr('name', rate_input.data('name')).val(0);
+            rate_input.prop('disabled', false);
+            rate_input.show().val(0);
           }
           $('#exchangerate_settings').show();
         } else {
           $('#exchangerate_settings').hide();
         }
-        if ($('#order_currency_id').val() != $('#old_currency_id').val() || data.exchangerate != $('#old_exchangerate').val()) {
+        console.log(data.is_standard);
+        console.log(data.exchangerate);
+        console.log($('#old_exchangerate').val());
+        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 update prices.'));
         }
         $('#old_currency_id').val($('#order_currency_id').val());
@@ -210,6 +215,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 update 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' });
@@ -830,6 +842,7 @@ $(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)) });