ActionBar: check confirm after checks
[kivitendo-erp.git] / js / kivi.SalesPurchase.js
index 3edefde..643d90e 100644 (file)
@@ -7,21 +7,37 @@ namespace('kivi.SalesPurchase', function(ns) {
       return;
     }
 
+    var params = { element: $element,
+                   runningnumber: row,
+                   partnumber: $('#partnumber_' + row).val() || '',
+                   description: $('#description_' + row).val() || '',
+                   default_longdescription: $('#longdescription_' + row).val() || ''
+                 };
+    this.edit_longdescription_with_params(params);
+  };
+
+  this.edit_longdescription_with_params = function(params) {
     var $container = $('#popup_edit_longdescription_input_container');
     var $edit      = $('<textarea id="popup_edit_longdescription_input" class="texteditor-in-dialog" wrap="soft" style="width: 750px; height: 220px;"></textarea>');
 
     $container.children().remove();
     $container.append($edit);
-    $container.data('element', $element);
 
-    $edit.val($element.val());
+    if (params.element) {
+      $container.data('element', params.element);
+    }
+    if (params.set_function) {
+      $container.data('setFunction', params.set_function);
+    }
+
+    $edit.val(params.default_longdescription);
 
     kivi.init_text_editor($edit);
 
-    $('#popup_edit_longdescription_runningnumber').html(row);
-    $('#popup_edit_longdescription_partnumber').html($('#partnumber_' + row).val() || '');
+    $('#popup_edit_longdescription_runningnumber').html(params.runningnumber);
+    $('#popup_edit_longdescription_partnumber').html(params.partnumber);
 
-    var description = ($('#description_' + row).val() || '').replace(/[\n\r]+/, '');
+    var description = params.description.replace(/[\n\r]+/, '');
     if (description.length >= 50)
       description = description.substring(0, 50) + "…";
     $('#popup_edit_longdescription_description').html(description);
@@ -37,10 +53,13 @@ namespace('kivi.SalesPurchase', function(ns) {
   };
 
   this.set_longdescription = function() {
-    $('#popup_edit_longdescription_input_container')
-      .data('element')
-      .val( $('#popup_edit_longdescription_input').val() );
-
+    if ($('#popup_edit_longdescription_input_container').data('setFunction')) {
+      $('#popup_edit_longdescription_input_container').data('setFunction')($('#popup_edit_longdescription_input').val());
+    } else {
+      $('#popup_edit_longdescription_input_container')
+        .data('element')
+        .val( $('#popup_edit_longdescription_input').val() );
+    }
     $('#edit_longdescription_dialog').dialog('close');
   };
 
@@ -62,7 +81,7 @@ namespace('kivi.SalesPurchase', function(ns) {
   };
 
   this.check_transaction_description = function() {
-    if ($('#transaction_description').val() != '')
+    if ($('#transaction_description').val() !== '')
       return true;
 
     alert(kivi.t8('A transaction description is required.'));
@@ -86,4 +105,16 @@ namespace('kivi.SalesPurchase', function(ns) {
   this.init_on_submit_checks = function() {
      $('input[type=submit]').click(kivi.SalesPurchase.on_submit_checks);
   };
+
+  this.set_duedate_on_reference_date_change = function(reference_field_id) {
+    setTimeout(function() {
+      var data = {
+        action:     'set_duedate',
+        invdate:    $('#' + reference_field_id).val(),
+        duedate:    $('#duedate').val(),
+        payment_id: $('#payment_id').val(),
+      };
+      $.post('is.pl', data, kivi.eval_json_result);
+    });
+  };
 });