kivitendo/js/kivi.SalesPurchase.js @ d04d57fd
ff058663 | Moritz Bunkus | namespace('kivi.SalesPurchase', function(ns) {
|
||
this.edit_longdescription = function(row) {
|
||||
var $element = $('#longdescription_' + row);
|
||||
if (!$element.length) {
|
||||
console.error("kivi.SalesPurchase.edit_longdescription: Element #longdescription_" + row + " not found");
|
||||
return;
|
||||
}
|
||||
08899a32 | Bernd Bleßmann | var params = { element: $element,
|
||
runningnumber: row,
|
||||
partnumber: $('#partnumber_' + row).val() || '',
|
||||
description: $('#description_' + row).val() || '',
|
||||
default_longdescription: $('#longdescription_' + row).val() || ''
|
||||
};
|
||||
this.edit_longdescription_with_params(params);
|
||||
};
|
||||
this.edit_longdescription_with_params = function(params) {
|
||||
c3d10ace | Moritz Bunkus | var $container = $('#popup_edit_longdescription_input_container');
|
||
var $edit = $('<textarea id="popup_edit_longdescription_input" class="texteditor-in-dialog" wrap="soft" style="width: 750px; height: 220px;"></textarea>');
|
||||
$container.children().remove();
|
||||
$container.append($edit);
|
||||
08899a32 | Bernd Bleßmann | if (params.element) {
|
||
$container.data('element', params.element);
|
||||
}
|
||||
a84a030e | Bernd Bleßmann | if (params.set_function) {
|
||
$container.data('setFunction', params.set_function);
|
||||
}
|
||||
08899a32 | Bernd Bleßmann | |||
$edit.val(params.default_longdescription);
|
||||
ff058663 | Moritz Bunkus | |||
08899a32 | Bernd Bleßmann | $('#popup_edit_longdescription_runningnumber').html(params.runningnumber);
|
||
$('#popup_edit_longdescription_partnumber').html(params.partnumber);
|
||||
ff058663 | Moritz Bunkus | |||
08899a32 | Bernd Bleßmann | var description = params.description.replace(/[\n\r]+/, '');
|
||
ff058663 | Moritz Bunkus | if (description.length >= 50)
|
||
description = description.substring(0, 50) + "…";
|
||||
$('#popup_edit_longdescription_description').html(description);
|
||||
kivi.popup_dialog({
|
||||
id: 'edit_longdescription_dialog',
|
||||
dialog: {
|
||||
5f6d6d4e | Moritz Bunkus | title: kivi.t8('Enter longdescription'),
|
||
c3d10ace | Moritz Bunkus | open: function() { kivi.focus_ckeditor_when_ready('#popup_edit_longdescription_input'); },
|
||
close: function() { $('#popup_edit_longdescription_input_container').children().remove(); }
|
||||
ff058663 | Moritz Bunkus | }
|
||
});
|
||||
};
|
||||
this.set_longdescription = function() {
|
||||
a84a030e | Bernd Bleßmann | if ($('#popup_edit_longdescription_input_container').data('setFunction')) {
|
||
$('#popup_edit_longdescription_input_container').data('setFunction')($('#popup_edit_longdescription_input').val());
|
||||
} else {
|
||||
$('#popup_edit_longdescription_input_container')
|
||||
.data('element')
|
||||
.val( $('#popup_edit_longdescription_input').val() );
|
||||
}
|
||||
ff058663 | Moritz Bunkus | $('#edit_longdescription_dialog').dialog('close');
|
||
};
|
||||
ffbde3ef | Moritz Bunkus | |||
this.delivery_order_check_transfer_qty = function() {
|
||||
var all_match = true;
|
||||
var rowcount = $('input[name=rowcount]').val();
|
||||
for (var i = 1; i < rowcount; i++)
|
||||
if ($('#stock_in_out_qty_matches_' + i).val() != 1)
|
||||
all_match = false;
|
||||
if (all_match)
|
||||
return true;
|
||||
return confirm(kivi.t8('There are still transfers not matching the qty of the delivery order. Stock operations can not be changed later. Do you really want to proceed?'));
|
||||
};
|
||||
a0d3ac64 | Moritz Bunkus | this.oe_warn_save_active_periodic_invoice = function() {
|
||
return confirm(kivi.t8('This sales order has an active configuration for periodic invoices. If you save then all subsequently created invoices will contain those changes as well, but not those that have already been created. Do you want to continue?'));
|
||||
};
|
||||
0194799c | Moritz Bunkus | this.check_transaction_description = function() {
|
||
6bcabf17 | Moritz Bunkus | if ($('#transaction_description').val() !== '')
|
||
0194799c | Moritz Bunkus | return true;
|
||
alert(kivi.t8('A transaction description is required.'));
|
||||
return false;
|
||||
};
|
||||
6f1da6d4 | Moritz Bunkus | this.check_transport_cost_article_presence = function() {
|
||
var $form = $('#form');
|
||||
var wanted_part_id = $form.data('transport-cost-reminder-article-id');
|
||||
if (!wanted_part_id)
|
||||
return true;
|
||||
var rowcount = $('#rowcount').val() * 1;
|
||||
for (var row = 1; row <= rowcount; row++)
|
||||
if ( (($('#id_' + row).val() * 1) === wanted_part_id)
|
||||
&& (($('#partnumber_' + row).val() || '') !== ''))
|
||||
return true;
|
||||
var description = $form.data('transport-cost-reminder-article-description');
|
||||
return confirm(kivi.t8("The transport cost article '#1' is missing. Do you want to continue anyway?", [ description ]));
|
||||
};
|
||||
ffbde3ef | Moritz Bunkus | this.on_submit_checks = function() {
|
||
var $button = $(this);
|
||||
if (($button.data('check-transfer-qty') == 1) && !kivi.SalesPurchase.delivery_order_check_transfer_qty())
|
||||
return false;
|
||||
a0d3ac64 | Moritz Bunkus | if (($button.data('warn-save-active-periodic-invoice') == 1) && !kivi.SalesPurchase.oe_warn_save_active_periodic_invoice())
|
||
return false;
|
||||
0194799c | Moritz Bunkus | if (($button.data('require-transaction-description') == 1) && !kivi.SalesPurchase.check_transaction_description())
|
||
return false;
|
||||
ffbde3ef | Moritz Bunkus | return true;
|
||
};
|
||||
this.init_on_submit_checks = function() {
|
||||
$('input[type=submit]').click(kivi.SalesPurchase.on_submit_checks);
|
||||
};
|
||||
5bc87ade | Moritz Bunkus | |||
this.set_duedate_on_reference_date_change = function(reference_field_id) {
|
||||
setTimeout(function() {
|
||||
var data = {
|
||||
action: 'set_duedate',
|
||||
invdate: $('#' + reference_field_id).val(),
|
||||
duedate: $('#duedate').val(),
|
||||
payment_id: $('#payment_id').val(),
|
||||
};
|
||||
$.post('is.pl', data, kivi.eval_json_result);
|
||||
});
|
||||
};
|
||||
4cb932ab | Moritz Bunkus | |||
// Functions dialog with entering shipping addresses.
|
||||
this.shipto_addresses = [];
|
||||
this.copy_shipto_address = function () {
|
||||
var shipto = this.shipto_addresses[ $('#shipto_to_copy').val() ];
|
||||
for (var key in shipto)
|
||||
$('#' + key).val(shipto[key]);
|
||||
};
|
||||
this.clear_shipto_fields = function() {
|
||||
var shipto = this.shipto_addresses[0];
|
||||
for (var key in shipto)
|
||||
$('#' + key).val('');
|
||||
$('#shiptocp_gender').val('m');
|
||||
};
|
||||
this.clear_shipto_id_before_submit = function() {
|
||||
var shipto = this.shipto_addresses[0];
|
||||
for (var key in shipto)
|
||||
if ((key != 'shiptocp_gender') && ($('#' + key).val() !== '')) {
|
||||
$('#shipto_id').val('');
|
||||
break;
|
||||
}
|
||||
};
|
||||
this.setup_shipto_dialog = function() {
|
||||
var $dlg = $('#shipto_dialog');
|
||||
$('#shipto_dialog [name^="shipto"]').each(function(idx, elt) {
|
||||
$dlg.data("original-" + $(elt).prop("name"), $(elt).val());
|
||||
});
|
||||
$dlg.data('confirmed', false);
|
||||
$('#shiptoname').focus();
|
||||
};
|
||||
199bd497 | Bernd Bleßmann | this.submit_custom_shipto = function(id_selector) {
|
||
id_selector = id_selector || '#shipto_id';
|
||||
$(id_selector).val('');
|
||||
4cb932ab | Moritz Bunkus | $('#shipto_dialog').data('confirmed', true);
|
||
$('#shipto_dialog').dialog('close');
|
||||
};
|
||||
this.reset_shipto_fields = function() {
|
||||
var $dlg = $('#shipto_dialog');
|
||||
$('#shipto_dialog [name^="shipto"]').each(function(idx, elt) {
|
||||
$(elt).val($dlg.data("original-" + $(elt).prop("name")));
|
||||
});
|
||||
};
|
||||
this.finish_shipto_dialog = function() {
|
||||
if (!$('#shipto_dialog').data('confirmed'))
|
||||
kivi.SalesPurchase.reset_shipto_fields();
|
||||
$('#shipto_dialog').children().remove().appendTo('#shipto_inputs');
|
||||
return true;
|
||||
};
|
||||
this.edit_custom_shipto = function() {
|
||||
$('#shipto_inputs').children().remove().appendTo('#shipto_dialog');
|
||||
kivi.popup_dialog({
|
||||
id: 'shipto_dialog',
|
||||
dialog: {
|
||||
height: 600,
|
||||
title: kivi.t8('Edit custom shipto'),
|
||||
open: kivi.SalesPurchase.setup_shipto_dialog,
|
||||
close: kivi.SalesPurchase.finish_shipto_dialog,
|
||||
}
|
||||
});
|
||||
};
|
||||
22bcb6b1 | Moritz Bunkus | |||
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.
|
||||
6d9d1fbf | Moritz Bunkus | this.check_required_email_fields = function() {
|
||
22bcb6b1 | Moritz Bunkus | var unset = $('#email_form_to,#email_form_subject,#email_form_message').filter(function(idx, elt) {
|
||
return $(elt).val() === '';
|
||||
});
|
||||
6d9d1fbf | Moritz Bunkus | if (unset.length === 0)
|
||
return true;
|
||||
alert(kivi.t8("The recipient, subject or body is missing."));
|
||||
$(unset[0]).focus();
|
||||
return false;
|
||||
};
|
||||
22bcb6b1 | Moritz Bunkus | |||
6d9d1fbf | Moritz Bunkus | this.send_email = function() {
|
||
if (!kivi.SalesPurchase.check_required_email_fields())
|
||||
22bcb6b1 | Moritz Bunkus | return false;
|
||
$('#send_email_dialog').children().remove().appendTo('#email_inputs');
|
||||
$('#send_email_dialog').dialog('close');
|
||||
ac1a9e8e | Moritz Bunkus | kivi.submit_form_with_action('#form', $('#form').data('send-email-action'));
|
||
22bcb6b1 | Moritz Bunkus | |||
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;
|
||||
};
|
||||
ac1a9e8e | Moritz Bunkus | this.show_email_dialog = function(send_action) {
|
||
$('#form').data('send-email-action', send_action || 'send_sales_purchase_email');
|
||||
dd33cbec | Moritz Bunkus | var vc = $('#vc').val();
|
||
var data = {
|
||||
2338103b | Bernd Bleßmann | action: 'show_sales_purchase_email_dialog',
|
||
cp_id: $('#cp_id').val(),
|
||||
d9ff130d | Moritz Bunkus | direct_debit: $('#direct_debit').prop('checked') ? 1 : 0,
|
||
2338103b | Bernd Bleßmann | 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(),
|
||||
17c2f7bd | Bernd Bleßmann | cusordnumber: $('#cusordnumber').val(),
|
||
2338103b | Bernd Bleßmann | rowcount: $('#rowcount').val(),
|
||
quonumber: $('#quonumber').val(),
|
||||
type: $('#type').val(),
|
||||
vc: vc,
|
||||
vc_id: $('#' + vc + '_id').val(),
|
||||
dd33cbec | Moritz Bunkus | };
|
||
$('[name^=id_],[name^=partnumber_]').each(function(idx, elt) {
|
||||
var val = $(elt).val() || '';
|
||||
if (val !== '')
|
||||
data[ $(elt).attr('name') ] = val;
|
||||
});
|
||||
22bcb6b1 | Moritz Bunkus | kivi.popup_dialog({
|
||
id: 'send_email_dialog',
|
||||
url: 'io.pl',
|
||||
load: kivi.SalesPurchase.setup_send_email_dialog,
|
||||
dd33cbec | Moritz Bunkus | data: data,
|
||
22bcb6b1 | Moritz Bunkus | dialog: {
|
||
height: 600,
|
||||
title: kivi.t8('Send email'),
|
||||
beforeClose: kivi.SalesPurchase.finish_send_email_dialog
|
||||
}
|
||||
});
|
||||
return true;
|
||||
};
|
||||
dfa741a1 | Moritz Bunkus | |||
dd33cbec | Moritz Bunkus | 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']();
|
||||
};
|
||||
dfa741a1 | Moritz Bunkus | // 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');
|
||||
6a75dc1c | Moritz Bunkus | var action = $('#form').data('print-action');
|
||
if (action.match("^js:"))
|
||||
return kivi.run(action.substring(3));
|
||||
kivi.submit_form_with_action('#form', action);
|
||||
dfa741a1 | Moritz Bunkus | };
|
||
10852277 | Moritz Bunkus | this.show_print_dialog = function(print_action) {
|
||
$('#form').data('print-action', print_action || 'print');
|
||||
dfa741a1 | Moritz Bunkus | 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,
|
||||
}
|
||||
});
|
||||
};
|
||||
ff058663 | Moritz Bunkus | });
|