X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=9b69578661d181a90a901aad0e196f3d1707937f;hb=6f119b5bf5a32ba3ae4b1b1579e91bd48d52c0a3;hp=94de1bc0abb1f2e47a0844924dda6fd30a86036f;hpb=a66591ccf74ff3d32ac31b6a91849a0476e54eb7;p=kivitendo-erp.git diff --git a/js/kivi.Order.js b/js/kivi.Order.js index 94de1bc0a..9b6957866 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -51,6 +51,7 @@ namespace('kivi.Order', function(ns) { if (warn_on_reqdate && !ns.check_valid_reqdate()) return; var data = $('#order_form').serializeArray(); + data.push({ name: 'order.language_id', value: $('#language_id').val() }); // language from print options data.push({ name: 'action', value: 'Order/' + action }); $.post("controller.pl", data, kivi.eval_json_result); @@ -82,19 +83,12 @@ namespace('kivi.Order', function(ns) { var data = $('#order_form').serializeArray(); data = data.concat($('#print_options_form').serializeArray()); + data.push({ name: 'order.language_id', value: $('#language_id').val() }); // language from print options data.push({ name: 'action', value: 'Order/print' }); $.post("controller.pl", data, kivi.eval_json_result); }; - ns.download_pdf = function(pdf_filename, key) { - var data = [{ name: 'action', value: 'Order/download_pdf' }, - { name: 'type', value: $('#type').val() }, - { name: 'pdf_filename', value: pdf_filename }, - { name: 'key', value: key }]; - $.download("controller.pl", data); - }; - ns.email = function(warn_on_duplicates) { if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to send by mail?"))) return; if (!ns.check_cv()) return; @@ -155,6 +149,7 @@ namespace('kivi.Order', function(ns) { var data = $('#order_form').serializeArray(); data = data.concat($('[name^="email_form."]').serializeArray()); data = data.concat($('[name^="print_options."]').serializeArray()); + data.push({ name: 'order.language_id', value: $('#language_id').val() }); // language from print options data.push({ name: 'action', value: 'Order/send_email' }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -344,6 +339,9 @@ namespace('kivi.Order', function(ns) { $('.row_entry [name="position"]').each(function(idx, elt) { $(elt).html(idx+1); }); + $('.row_entry').each(function(idx, elt) { + $(elt).data("position", idx+1); + }); }; ns.reorder_items = function(order_by) { @@ -379,14 +377,33 @@ namespace('kivi.Order', function(ns) { ns.renumber_positions(); }; + ns.get_insert_before_item_id = function(wanted_pos) { + if (wanted_pos === '') return; + + var insert_before_item_id; + // selection by data does not seem to work if data is changed at runtime + // var elt = $('.row_entry [data-position="' + wanted_pos + '"]'); + $('.row_entry').each(function(idx, elt) { + if ($(elt).data("position") == wanted_pos) { + insert_before_item_id = $(elt).find('[name="orderitem_ids[+]"]').val(); + return false; + } + }); + + return insert_before_item_id; + }; + ns.add_item = function() { if ($('#add_item_parts_id').val() === '') return; if (!ns.check_cv()) return; $('#row_table_id thead a img').remove(); + var insert_before_item_id = ns.get_insert_before_item_id($('#add_item_position').val()); + var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/add_item' }); + data.push({ name: 'action', value: 'Order/add_item' }, + { name: 'insert_before_item_id', value: insert_before_item_id }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -444,12 +461,12 @@ namespace('kivi.Order', function(ns) { ns.multi_items_dialog_disable_continue = function() { // disable keydown-event and continue button to prevent // impatient users to add parts multiple times - $('#multi_items_result input').off("keydown"); + $('#multi_items_result input, #multi_items_position').off("keydown"); $('#multi_items_dialog_continue_button').prop('disabled', true); }; ns.multi_items_dialog_enable_continue = function() { - $('#multi_items_result input').keydown(function(event) { + $('#multi_items_result input, #multi_items_position').keydown(function(event) { if(event.keyCode == 13) { event.preventDefault(); ns.add_multi_items(); @@ -480,9 +497,12 @@ namespace('kivi.Order', function(ns) { ns.multi_items_dialog_disable_continue(); + var insert_before_item_id = ns.get_insert_before_item_id($('#multi_items_position').val()); + var data = $('#order_form').serializeArray(); data = data.concat($('#multi_items_form').serializeArray()); - data.push({ name: 'action', value: 'Order/add_multi_items' }); + data.push({ name: 'action', value: 'Order/add_multi_items' }, + { name: 'insert_before_item_id', value: insert_before_item_id }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -725,6 +745,34 @@ namespace('kivi.Order', function(ns) { return true; }; + ns.update_row_from_master_data = function(clicked) { + var row = $(clicked).parents("tbody").first(); + var item_id_dom = $(row).find('[name="orderitem_ids[+]"]'); + + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/update_row_from_master_data' }); + data.push({ name: 'item_ids[]', value: item_id_dom.val() }); + + $.post("controller.pl", data, kivi.eval_json_result); + }; + + ns.update_all_rows_from_master_data = function() { + var item_ids = $.map($('.row_entry'), function(elt) { + var item_id = $(elt).find('[name="orderitem_ids[+]"]').val(); + return { name: 'item_ids[]', value: item_id }; + }); + + if (item_ids.length == 0) { + return; + } + + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/update_row_from_master_data' }); + data = data.concat(item_ids); + + $.post("controller.pl", data, kivi.eval_json_result); + }; + ns.show_calculate_qty_dialog = function(clicked) { var row = $(clicked).parents("tbody").first(); var input_id = $(row).find('[name="order.orderitems[].qty_as_number"]').attr('id');