Projekt

Allgemein

Profil

Herunterladen (11,6 KB) Statistiken
| Zweig: | Markierung: | Revision:
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
});