Projekt

Allgemein

Profil

Herunterladen (10,3 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
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
});