X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4cb932aba73b8d72df10a1c0095228a10692536c..3c13f327bdac0832bcf5d6d2db9585df57c1d285:/js/kivi.SalesPurchase.js diff --git a/js/kivi.SalesPurchase.js b/js/kivi.SalesPurchase.js index 69fec6d8b..c19c10a68 100644 --- a/js/kivi.SalesPurchase.js +++ b/js/kivi.SalesPurchase.js @@ -208,4 +208,123 @@ namespace('kivi.SalesPurchase', function(ns) { } }); }; + + 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.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) + 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', $('#form').data('send-email-action')); + + 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(send_action) { + $('#form').data('send-email-action', send_action || 'send_sales_purchase_email'); + + 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; + }; + + // 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, + } + }); + }; });