X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.SalesPurchase.js;h=643d90e94f8f32153b53ef33d2d20ebde505e917;hb=3ab818312b91e25f4a1081214d2f7ed4f78b9b9a;hp=bcae1145a59536a783a9f63ed899d568304e8e28;hpb=a0d3ac645659b1a33df00e2d73d2931c3400f773;p=kivitendo-erp.git diff --git a/js/kivi.SalesPurchase.js b/js/kivi.SalesPurchase.js index bcae1145a..643d90e94 100644 --- a/js/kivi.SalesPurchase.js +++ b/js/kivi.SalesPurchase.js @@ -1,6 +1,5 @@ namespace('kivi.SalesPurchase', function(ns) { this.edit_longdescription = function(row) { - var $edit = $('#popup_edit_longdescription_input'); var $element = $('#longdescription_' + row); if (!$element.length) { @@ -8,13 +7,37 @@ namespace('kivi.SalesPurchase', function(ns) { return; } - $edit.data('element', $element); - $edit.val($element.val()); + 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) { + var $container = $('#popup_edit_longdescription_input_container'); + var $edit = $(''); + + $container.children().remove(); + $container.append($edit); + + if (params.element) { + $container.data('element', params.element); + } + if (params.set_function) { + $container.data('setFunction', params.set_function); + } + + $edit.val(params.default_longdescription); + + kivi.init_text_editor($edit); - $('#popup_edit_longdescription_runningnumber').html(row); - $('#popup_edit_longdescription_partnumber').html($('#partnumber_' + row).val() || ''); + $('#popup_edit_longdescription_runningnumber').html(params.runningnumber); + $('#popup_edit_longdescription_partnumber').html(params.partnumber); - var description = ($('#description_' + row).val() || '').replace(/[\n\r]+/, ''); + var description = params.description.replace(/[\n\r]+/, ''); if (description.length >= 50) description = description.substring(0, 50) + "…"; $('#popup_edit_longdescription_description').html(description); @@ -23,16 +46,20 @@ namespace('kivi.SalesPurchase', function(ns) { id: 'edit_longdescription_dialog', dialog: { title: kivi.t8('Enter longdescription'), - open: function() { kivi.set_focus('#popup_edit_longdescription_input'); } + open: function() { kivi.focus_ckeditor_when_ready('#popup_edit_longdescription_input'); }, + close: function() { $('#popup_edit_longdescription_input_container').children().remove(); } } }); }; this.set_longdescription = function() { - var $edit = $('#popup_edit_longdescription_input'); - var $element = $edit.data('element'); - - $element.val($edit.val()); + 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() ); + } $('#edit_longdescription_dialog').dialog('close'); }; @@ -53,6 +80,14 @@ namespace('kivi.SalesPurchase', function(ns) { 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?')); }; + this.check_transaction_description = function() { + if ($('#transaction_description').val() !== '') + return true; + + alert(kivi.t8('A transaction description is required.')); + return false; + }; + this.on_submit_checks = function() { var $button = $(this); if (($button.data('check-transfer-qty') == 1) && !kivi.SalesPurchase.delivery_order_check_transfer_qty()) @@ -61,10 +96,25 @@ namespace('kivi.SalesPurchase', function(ns) { if (($button.data('warn-save-active-periodic-invoice') == 1) && !kivi.SalesPurchase.oe_warn_save_active_periodic_invoice()) return false; + if (($button.data('require-transaction-description') == 1) && !kivi.SalesPurchase.check_transaction_description()) + return false; + return true; }; this.init_on_submit_checks = function() { $('input[type=submit]').click(kivi.SalesPurchase.on_submit_checks); }; + + 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); + }); + }; });