X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=3421f9ff6bf2d09aeb1278164b52b2bd381013ee;hb=619083078133cd1b4358aed5c8ca9880c9b626c4;hp=a5a8c31686d8de5cce87371d2b81a42985c15627;hpb=759e7200b66eced8b4da70dba0f48739d883da2c;p=kivitendo-erp.git diff --git a/js/kivi.Order.js b/js/kivi.Order.js index a5a8c3168..3421f9ff6 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -14,7 +14,7 @@ namespace('kivi.Order', function(ns) { return true; }; - ns.check_save_duplicate_parts = function() { + ns.check_duplicate_parts = function(question) { var id_arr = $('[name="order.orderitems[].parts_id"]').map(function() { return this.value; }).get(); var i, obj = {}, pos = []; @@ -28,15 +28,16 @@ namespace('kivi.Order', function(ns) { } if (pos.length > 0) { + question = question || kivi.t8("Do you really want to save?"); return confirm(kivi.t8("There are duplicate parts at positions") + "\n" + pos.join(', ') + "\n" - + kivi.t8("Do you really want to save?")); + + question); } return true; }; ns.check_valid_reqdate = function() { - if ($('#order_reqdate').val() === '') { + if ($('#order_reqdate_as_date').val() === '') { alert(kivi.t8('Please select a delivery date.')); return false; } else { @@ -46,8 +47,8 @@ namespace('kivi.Order', function(ns) { ns.save = function(action, warn_on_duplicates, warn_on_reqdate) { if (!ns.check_cv()) return; - if (warn_on_duplicates && !ns.check_save_duplicate_parts()) return; - if (warn_on_reqdate && !ns.check_valid_reqdate()) return; + if (warn_on_duplicates && !ns.check_duplicate_parts()) return; + if (warn_on_reqdate && !ns.check_valid_reqdate()) return; var data = $('#order_form').serializeArray(); data.push({ name: 'action', value: 'Order/' + action }); @@ -62,8 +63,9 @@ namespace('kivi.Order', function(ns) { $.post("controller.pl", data, kivi.eval_json_result); }; - ns.show_print_options = function() { + ns.show_print_options = function(warn_on_duplicates) { if (!ns.check_cv()) return; + if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to print?"))) return; kivi.popup_dialog({ id: 'print_options', @@ -93,8 +95,10 @@ namespace('kivi.Order', function(ns) { $.download("controller.pl", data); }; - ns.email = function() { + 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; + var data = $('#order_form').serializeArray(); data.push({ name: 'action', value: 'Order/show_email_dialog' }); @@ -330,6 +334,12 @@ namespace('kivi.Order', function(ns) { }); }; + ns.redisplay_cvpartnumbers = function(data) { + $('.row_entry').each(function(idx, elt) { + $(elt).find('[name="cvpartnumber"]').html(data[idx][0]); + }); + }; + ns.renumber_positions = function() { $('.row_entry [name="position"]').each(function(idx, elt) { $(elt).html(idx+1); @@ -627,12 +637,12 @@ namespace('kivi.Order', function(ns) { kivi.popup_dialog({ url: 'controller.pl?action=Order/show_periodic_invoices_config_dialog', - data: { type: $('#type').val(), - id: $('#id').val(), - config: $('#order_periodic_invoices_config').val(), - customer_id: $('#order_customer_id').val(), - transdate: $('#order_transdate').val(), - language_id: $('#language_id').val() + data: { type: $('#type').val(), + id: $('#id').val(), + config: $('#order_periodic_invoices_config').val(), + customer_id: $('#order_customer_id').val(), + transdate_as_date: $('#order_transdate_as_date').val(), + language_id: $('#language_id').val() }, id: 'jq_periodic_invoices_config_dialog', load: kivi.reinit_widgets, @@ -715,6 +725,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');