ActionBar: existierende Inputs namens »action« vor Submit entfernen
[kivitendo-erp.git] / js / kivi.SalesPurchase.js
index 402ae73..98111da 100644 (file)
@@ -134,4 +134,156 @@ namespace('kivi.SalesPurchase', function(ns) {
       $.post('is.pl', data, kivi.eval_json_result);
     });
   };
+
+  // Functions dialog with entering shipping addresses.
+  this.shipto_addresses = [];
+
+  this.copy_shipto_address = function () {
+    var shipto = this.shipto_addresses[ $('#shipto_to_copy').val() ];
+    for (var key in shipto)
+      $('#' + key).val(shipto[key]);
+  };
+
+  this.clear_shipto_fields = function() {
+    var shipto = this.shipto_addresses[0];
+    for (var key in shipto)
+      $('#' + key).val('');
+    $('#shiptocp_gender').val('m');
+  };
+
+  this.clear_shipto_id_before_submit = function() {
+    var shipto = this.shipto_addresses[0];
+    for (var key in shipto)
+      if ((key != 'shiptocp_gender') && ($('#' + key).val() !== '')) {
+        $('#shipto_id').val('');
+        break;
+      }
+  };
+
+  this.setup_shipto_dialog = function() {
+    var $dlg = $('#shipto_dialog');
+
+    $('#shipto_dialog [name^="shipto"]').each(function(idx, elt) {
+      $dlg.data("original-" + $(elt).prop("name"), $(elt).val());
+    });
+
+    $dlg.data('confirmed', false);
+
+    $('#shiptoname').focus();
+  };
+
+  this.submit_custom_shipto = function() {
+    $('#shipto_id').val('');
+    $('#shipto_dialog').data('confirmed', true);
+    $('#shipto_dialog').dialog('close');
+  };
+
+  this.reset_shipto_fields = function() {
+    var $dlg = $('#shipto_dialog');
+
+    $('#shipto_dialog [name^="shipto"]').each(function(idx, elt) {
+      $(elt).val($dlg.data("original-" + $(elt).prop("name")));
+    });
+  };
+
+  this.finish_shipto_dialog = function() {
+    if (!$('#shipto_dialog').data('confirmed'))
+      kivi.SalesPurchase.reset_shipto_fields();
+
+    $('#shipto_dialog').children().remove().appendTo('#shipto_inputs');
+
+    return true;
+  };
+
+  this.edit_custom_shipto = function() {
+    $('#shipto_inputs').children().remove().appendTo('#shipto_dialog');
+
+    kivi.popup_dialog({
+      id:    'shipto_dialog',
+      dialog: {
+        height: 600,
+        title:  kivi.t8('Edit custom shipto'),
+        open:   kivi.SalesPurchase.setup_shipto_dialog,
+        close:  kivi.SalesPurchase.finish_shipto_dialog,
+      }
+    });
+  };
+
+  this.show_print_options_elements = function(elements, show) {
+    $(elements).each(function(idx, elt) {
+      var $elements = $('#print_options_header_' + elt + ',#print_options_input_' + elt);
+      if (show)
+        $elements.show();
+      else
+        $elements.hide();
+    });
+  };
+
+  this.show_all_print_options_elements = function() {
+    kivi.SalesPurchase.show_print_options_elements([ 'formname', 'language_id', 'format', 'sendmode', 'media', 'printer_id', 'copies', 'groupitems', 'remove_draft' ], true);
+  };
+
+  // Sending records via email.
+  this.send_email = function() {
+    var unset = $('#email_form_to,#email_form_subject,#email_form_message').filter(function(idx, elt) {
+      return $(elt).val() === '';
+    });
+
+    if (unset.length > 0) {
+      alert(kivi.t8("The recipient, subject or body is missing."));
+      $(unset[0]).focus();
+
+      return false;
+    }
+
+    $('#send_email_dialog').children().remove().appendTo('#email_inputs');
+    $('#send_email_dialog').dialog('close');
+
+    kivi.submit_form_with_action('#form', 'send_sales_purchase_email');
+
+    return true;
+  };
+
+  this.setup_send_email_dialog = function() {
+    kivi.SalesPurchase.show_all_print_options_elements();
+    kivi.SalesPurchase.show_print_options_elements([ 'sendmode', 'media', 'copies', 'remove_draft' ], false);
+
+    $('#print_options').children().remove().appendTo('#email_form_print_options');
+
+    var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject';
+    $('#email_form_' + to_focus).focus();
+  };
+
+  this.finish_send_email_dialog = function() {
+    $('#email_form_print_options').children().remove().appendTo('#print_options');
+    return true;
+  };
+
+  this.show_email_dialog = function() {
+    kivi.popup_dialog({
+      id:     'send_email_dialog',
+      url:    'io.pl',
+      load:   kivi.SalesPurchase.setup_send_email_dialog,
+      data:   {
+        action:      'show_sales_purchase_email_dialog',
+        type:        $('#type').val(),
+        formname:    $('#formname').val(),
+        format:      $('#format').val(),
+        media:       'email',
+        ordnumber:   $('#ordnumber').val(),
+        donumber:    $('#donumber').val(),
+        invnumber:   $('#invnumber').val(),
+        quonumber:   $('#quonumber').val(),
+        cp_id:       $('#cp_id').val(),
+        language_id: $('#language_id').val(),
+      },
+      dialog: {
+        height:      600,
+        title:       kivi.t8('Send email'),
+        beforeClose: kivi.SalesPurchase.finish_send_email_dialog
+      }
+    });
+
+    return true;
+  };
 });