kivitendo/js/kivi.SalesPurchase.js @ a439697f
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 | |||
c3d10ace | Moritz Bunkus | kivi.init_text_editor($edit);
|
||
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();
|
||||
};
|
||||
this.submit_custom_shipto = function() {
|
||||
$('#shipto_id').val('');
|
||||
$('#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.
|
||||
this.send_email = 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();
|
||||
return false;
|
||||
}
|
||||
$('#send_email_dialog').children().remove().appendTo('#email_inputs');
|
||||
$('#send_email_dialog').dialog('close');
|
||||
c2aaf253 | Moritz Bunkus | kivi.submit_form_with_action('#form', 'send_sales_purchase_email');
|
||
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;
|
||||
};
|
||||
this.show_email_dialog = function() {
|
||||
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;
|
||||
};
|
||||
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');
|
||||
kivi.submit_form_with_action('#form', 'print');
|
||||
};
|
||||
this.show_print_dialog = function() {
|
||||
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 | });
|