]> 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 0b09bebf89ab8e4942d4fafd75bbe833644fdc5f..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',
@@ -303,10 +311,12 @@ namespace('kivi.SalesPurchase', function(ns) {
   this.print_record = function() {
     $('#print_dialog').dialog('close');
 
-    kivi.submit_form_with_action('#form', 'print');
+    kivi.submit_form_with_action('#form', $('#form').data('print-action'));
   };
 
-  this.show_print_dialog = function() {
+  this.show_print_dialog = function(print_action) {
+    $('#form').data('print-action', print_action || 'print');
+
     kivi.popup_dialog({
       id:    'print_dialog',
       dialog: {