]> wagnertech.de Git - mfinanz.git/blobdiff - js/kivi.SalesPurchase.js
ActionBar: programmatisches Interface für Änderungen On-The-Fly
[mfinanz.git] / js / kivi.SalesPurchase.js
index 98111dadc76b8c3c9b3193bcc8cfac817254d02c..c19c10a68450aa6ed38906c67baf701d5a5a0dd8 100644 (file)
@@ -224,22 +224,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,7 +265,9 @@ 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');
+
     kivi.popup_dialog({
       id:     'send_email_dialog',
       url:    'io.pl',
@@ -286,4 +294,37 @@ namespace('kivi.SalesPurchase', function(ns) {
 
     return true;
   };
+
+  // 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');
+
+    kivi.submit_form_with_action('#form', $('#form').data('print-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,
+      }
+    });
+  };
 });