X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.SalesPurchase.js;h=4dc390b168a1740b7054406dc5e9b1edeb60dc9a;hb=f8fff60be1abb9986486cc7367747ee16d829116;hp=0b09bebf89ab8e4942d4fafd75bbe833644fdc5f;hpb=dfa741a109ca3d114efc4980bd1e9d240e036581;p=kivitendo-erp.git
diff --git a/js/kivi.SalesPurchase.js b/js/kivi.SalesPurchase.js
index 0b09bebf8..4dc390b16 100644
--- a/js/kivi.SalesPurchase.js
+++ b/js/kivi.SalesPurchase.js
@@ -1,4 +1,6 @@
namespace('kivi.SalesPurchase', function(ns) {
+ this.longdescription_dialog_size_percentage = 0;
+
this.edit_longdescription = function(row) {
var $element = $('#longdescription_' + row);
@@ -17,8 +19,20 @@ namespace('kivi.SalesPurchase', function(ns) {
};
this.edit_longdescription_with_params = function(params) {
+ var dialog_width = 800;
+ var dialog_height = 500;
+ var textarea_width = 750;
+ var textarea_height = 220;
+ if (this.longdescription_dialog_size_percentage != 0) {
+ dialog_width = Math.ceil(window.innerWidth * this.longdescription_dialog_size_percentage/100);
+ dialog_height = Math.ceil(window.innerHeight * this.longdescription_dialog_size_percentage/100);
+ textarea_width = Math.ceil(dialog_width * 95/100);
+ textarea_height = dialog_height - 220;
+ if (textarea_height <= 0) textarea_height = 220;
+ }
+
var $container = $('#popup_edit_longdescription_input_container');
- var $edit = $('');
+ var $edit = $('');
$container.children().remove();
$container.append($edit);
@@ -32,8 +46,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);
@@ -46,6 +58,8 @@ namespace('kivi.SalesPurchase', function(ns) {
id: 'edit_longdescription_dialog',
dialog: {
title: kivi.t8('Enter longdescription'),
+ width: dialog_width,
+ height: dialog_height,
open: function() { kivi.focus_ckeditor_when_ready('#popup_edit_longdescription_input'); },
close: function() { $('#popup_edit_longdescription_input_container').children().remove(); }
}
@@ -172,8 +186,9 @@ namespace('kivi.SalesPurchase', function(ns) {
$('#shiptoname').focus();
};
- this.submit_custom_shipto = function() {
- $('#shipto_id').val('');
+ this.submit_custom_shipto = function(id_selector) {
+ id_selector = id_selector || '#shipto_id';
+ $(id_selector).val('');
$('#shipto_dialog').data('confirmed', true);
$('#shipto_dialog').dialog('close');
};
@@ -224,22 +239,36 @@ 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;
- }
+
+ // ckeditor gets de-initialized when removing the children from
+ // the DOM. Therefore we have to manually preserve its content
+ // over the children's relocation.
+
+ var message = $('#email_form_message').val();
$('#send_email_dialog').children().remove().appendTo('#email_inputs');
$('#send_email_dialog').dialog('close');
- kivi.submit_form_with_action('#form', 'send_sales_purchase_email');
+ $('#email_form_message').val(message);
+
+ kivi.submit_form_with_action('#form', $('#form').data('send-email-action'));
return true;
};
@@ -250,6 +279,8 @@ namespace('kivi.SalesPurchase', function(ns) {
$('#print_options').children().remove().appendTo('#email_form_print_options');
+ kivi.reinit_widgets();
+
var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject';
$('#email_form_' + to_focus).focus();
};
@@ -259,24 +290,45 @@ namespace('kivi.SalesPurchase', function(ns) {
return true;
};
- this.show_email_dialog = function() {
+ this.show_email_dialog = function(send_action, vc, vc_id_selector) {
+ $('#form').data('send-email-action', send_action || 'send_sales_purchase_email');
+
+ vc = vc || $('#vc').val();
+ vc_id_selector = vc_id_selector || '#' + vc + '_id';
+ var vc_id = $(vc_id_selector).val();
+
+ var data = {
+ action: 'show_sales_purchase_email_dialog',
+ cp_id: $('#cp_id').val(),
+ direct_debit: $('#direct_debit').prop('checked') ? 1 : 0,
+ 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(),
+ cusordnumber: $('#cusordnumber').val(),
+ rowcount: $('#rowcount').val(),
+ quonumber: $('#quonumber').val(),
+ type: $('#type').val(),
+ vc: vc,
+ vc_id: vc_id,
+ project_id: $('#globalproject_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'),
@@ -287,6 +339,12 @@ 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 !== 'no_file' ? 'show' : 'hide']();
+ };
+
// Printing records.
this.setup_print_dialog = function() {
kivi.SalesPurchase.show_all_print_options_elements();
@@ -303,10 +361,16 @@ namespace('kivi.SalesPurchase', function(ns) {
this.print_record = function() {
$('#print_dialog').dialog('close');
- kivi.submit_form_with_action('#form', 'print');
+ 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() {
+ this.show_print_dialog = function(print_action) {
+ $('#form').data('print-action', print_action || 'print');
+
kivi.popup_dialog({
id: 'print_dialog',
dialog: {