Kundenstatistik: Rechte
[kivitendo-erp.git] / js / kivi.SalesPurchase.js
index 98111da..86704f2 100644 (file)
@@ -32,8 +32,6 @@ namespace('kivi.SalesPurchase', function(ns) {
 
     $edit.val(params.default_longdescription);
 
-    kivi.init_text_editor($edit);
-
     $('#popup_edit_longdescription_runningnumber').html(params.runningnumber);
     $('#popup_edit_longdescription_partnumber').html(params.partnumber);
 
@@ -224,22 +222,28 @@ namespace('kivi.SalesPurchase', function(ns) {
   };
 
   // Sending records via email.
-  this.send_email = function() {
+  this.check_required_email_fields = 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();
+    if (unset.length === 0)
+      return true;
+
+    alert(kivi.t8("The recipient, subject or body is missing."));
+    $(unset[0]).focus();
 
+    return false;
+  };
+
+  this.send_email = function() {
+    if (!kivi.SalesPurchase.check_required_email_fields())
       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');
+    kivi.submit_form_with_action('#form', $('#form').data('send-email-action'));
 
     return true;
   };
@@ -259,24 +263,39 @@ namespace('kivi.SalesPurchase', function(ns) {
     return true;
   };
 
-  this.show_email_dialog = function() {
+  this.show_email_dialog = function(send_action) {
+    $('#form').data('send-email-action', send_action || 'send_sales_purchase_email');
+
+    var vc   = $('#vc').val();
+    var data = {
+      action:      'show_sales_purchase_email_dialog',
+      cp_id:       $('#cp_id').val(),
+      donumber:    $('#donumber').val(),
+      format:      $('#format').val(),
+      formname:    $('#formname').val(),
+      id:          $('#id').val(),
+      invnumber:   $('#invnumber').val(),
+      language_id: $('#language_id').val(),
+      media:       'email',
+      ordnumber:   $('#ordnumber').val(),
+      rowcount:    $('#rowcount').val(),
+      quonumber:   $('#quonumber').val(),
+      type:        $('#type').val(),
+      vc:          vc,
+      vc_id:       $('#' + vc + '_id').val(),
+    };
+
+    $('[name^=id_],[name^=partnumber_]').each(function(idx, elt) {
+      var val = $(elt).val() || '';
+      if (val !== '')
+        data[ $(elt).attr('name') ] = val;
+    });
+
     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(),
-      },
+      data:   data,
       dialog: {
         height:      600,
         title:       kivi.t8('Send email'),
@@ -286,4 +305,47 @@ namespace('kivi.SalesPurchase', function(ns) {
 
     return true;
   };
+
+  this.activate_send_email_actions_regarding_printout = function() {
+    var selected = $('#email_form_attachment_policy').val();
+    $('#email_form_attachment_filename').parents('tr')[selected !== 'no_file' ? 'show' : 'hide']();
+    $('#email_form_print_options')[selected === 'normal' ? 'show' : 'hide']();
+  };
+
+  // Printing records.
+  this.setup_print_dialog = function() {
+    kivi.SalesPurchase.show_all_print_options_elements();
+
+    $('#print_options').children().remove().appendTo('#print_dialog_print_options');
+
+    $('#print_dialog_print_button').focus();
+  };
+
+  this.finish_print_dialog = function() {
+    $('#print_dialog_print_options').children().remove().appendTo('#print_options');
+  };
+
+  this.print_record = function() {
+    $('#print_dialog').dialog('close');
+
+    var action = $('#form').data('print-action');
+    if (action.match("^js:"))
+      return kivi.run(action.substring(3));
+
+    kivi.submit_form_with_action('#form', action);
+  };
+
+  this.show_print_dialog = function(print_action) {
+    $('#form').data('print-action', print_action || 'print');
+
+    kivi.popup_dialog({
+      id:    'print_dialog',
+      dialog: {
+        height: 600,
+        title:  kivi.t8('Print record'),
+        open:   kivi.SalesPurchase.setup_print_dialog,
+        close:  kivi.SalesPurchase.finish_print_dialog,
+      }
+    });
+  };
 });