X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.DeliveryOrder.js;h=00a929450168c0c6d8fa96d058789e385ecd2e18;hb=11aeaa07186197c61dfe610d2a5c981754fd2e9d;hp=c28033f9869547e3c026ac624432e58eb4dbdf09;hpb=ea402a2c8bf7200a1ebaddec3428fb9af8e20fc0;p=kivitendo-erp.git diff --git a/js/kivi.DeliveryOrder.js b/js/kivi.DeliveryOrder.js index c28033f98..00a929450 100644 --- a/js/kivi.DeliveryOrder.js +++ b/js/kivi.DeliveryOrder.js @@ -1,6 +1,6 @@ -namespace('kivi.Order', function(ns) { +namespace('kivi.DeliveryOrder', function(ns) { ns.check_cv = function() { - if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation') { + if ($('#type').val() == 'sales_delivery_order') { if ($('#order_customer_id').val() === '') { alert(kivi.t8('Please select a customer.')); return false; @@ -51,14 +51,14 @@ namespace('kivi.Order', function(ns) { if (warn_on_reqdate && !ns.check_valid_reqdate()) return; var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/' + action }); + data.push({ name: 'action', value: 'DeliveryOrder/' + action }); $.post("controller.pl", data, kivi.eval_json_result); }; ns.delete_order = function() { var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/delete' }); + data.push({ name: 'action', value: 'DeliveryOrder/delete' }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -78,12 +78,72 @@ namespace('kivi.Order', function(ns) { }); }; + ns.open_stock_in_out_dialog = function(clicked, in_out) { + var $row = $(clicked).parents("tbody").first(); + var id = $row.find('[name="orderitem_ids[+]"]').val(); + $row.uniqueId(); + + kivi.popup_dialog({ + id: "stock_in_out_dialog", + url: "controller.pl?action=DeliveryOrder/stock_in_out_dialog", + data: { + id: $("#id").val(), + type: $("#type").val(), + parts_id: $row.find("[name$=parts_id]").val(), + unit: $row.find("[name$=unit]").val(), + qty_as_number: $row.find("[name$=qty_as_number]").val(), + stock: $row.find("[name$=stock_info]").val(), + item_id: id, + row: $row.attr("id"), + }, + dialog: { title: kivi.t8('Transfer stock') } + }); + }; + + ns.save_updated_stock = function() { + // stock information is saved in DOM as a yaml dump. + // we don't want to do this in javascript so we do a tiny roundtrip to the backend + + let data = []; + $("#stock-in-out-table tr.listrow").each((i,row) => { + let qty = kivi.parse_amount($(row).find(".data-qty").val()); + + if (qty === 0) return; + + data.push({ + qty: qty, + warehouse_id: $(row).find(".data-warehouse-id").val(), + bin_id: $(row).find(".data-bin-id").val(), + chargenumber: $(row).find(".data-chargenumber").val(), + bestbefore: $(row).find(".data-bestbefore").val(), + unit: $(row).find(".data-unit").val(), + delivery_order_items_stock_id: $(row).find(".data-stock-id").val(), + }); + }); + + let row = $(".data-row").val(); + + $.post("controller.pl", + kivi.serialize({ + action: "DeliveryOrder/update_stock_information", + unit: $("#" + row).find("[name$=unit]").val(), + stock_info: data, + row: row + }), + (data) => { + $("#" + row + " .data-stock-info").val(data.stock_info); + $("#" + row + " .data-stock-qty").text(data.stock_qty) + $("#stock_in_out_dialog").dialog("close"); + } + ); + }; + ns.print = function() { $('#print_options').dialog('close'); var data = $('#order_form').serializeArray(); data = data.concat($('#print_options_form').serializeArray()); - data.push({ name: 'action', value: 'Order/print' }); + data.push({ name: 'action', value: 'DeliveryOrder/print' }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -115,7 +175,7 @@ namespace('kivi.Order', function(ns) { height: 600, title: kivi.t8('Send email'), modal: true, - beforeClose: kivi.Order.finish_send_email_dialog, + beforeClose: kivi.DeliveryOrder.finish_send_email_dialog, close: function(event, ui) { email_dialog.remove(); } @@ -127,7 +187,7 @@ namespace('kivi.Order', function(ns) { email_dialog.html(html); email_dialog.dialog(dialog_params); - kivi.Order.setup_send_email_dialog(); + kivi.DeliveryOrder.setup_send_email_dialog(); $('.cancel').click(ns.close_email_dialog); @@ -141,7 +201,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: 'action', value: 'Order/send_email' }); + data.push({ name: 'action', value: 'DeliveryOrder/send_email' }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -162,7 +222,7 @@ namespace('kivi.Order', function(ns) { ns.reload_cv_dependent_selections = function() { $('#order_shipto_id').val(''); var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/customer_vendor_changed' }); + data.push({ name: 'action', value: 'DeliveryOrder/customer_vendor_changed' }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -196,7 +256,7 @@ namespace('kivi.Order', function(ns) { } var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/update_exchangerate' }); + data.push({ name: 'action', value: 'DeliveryOrder/update_exchangerate' }); $.ajax({ url: 'controller.pl', @@ -243,7 +303,7 @@ namespace('kivi.Order', function(ns) { $(select_elt).data('oldval', $(select_elt).val()); var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/unit_changed' }, + data.push({ name: 'action', value: 'DeliveryOrder/unit_changed' }, { name: 'item_id', value: item_id_dom.val() }, { name: 'old_unit', value: oldval }, { name: 'sellprice_dom_id', value: sellprice_dom.attr('id') }); @@ -267,7 +327,7 @@ namespace('kivi.Order', function(ns) { return; } var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/load_second_rows' }, + data.push({ name: 'action', value: 'DeliveryOrder/load_second_rows' }, { name: 'item_ids[]', value: item_id_dom.val() }); $.post("controller.pl", data, kivi.eval_json_result); @@ -288,7 +348,7 @@ namespace('kivi.Order', function(ns) { } var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/load_second_rows' }); + data.push({ name: 'action', value: 'DeliveryOrder/load_second_rows' }); data = data.concat(item_ids); $.post("controller.pl", data, kivi.eval_json_result); @@ -409,7 +469,7 @@ namespace('kivi.Order', function(ns) { $('#' + order_by + '_header_id a').append(''); var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/reorder_items' }, + data.push({ name: 'action', value: 'DeliveryOrder/reorder_items' }, { name: 'order_by', value: order_by }, { name: 'sort_dir', value: dir }); @@ -451,7 +511,7 @@ namespace('kivi.Order', function(ns) { 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: 'DeliveryOrder/add_item' }, { name: 'insert_before_item_id', value: insert_before_item_id }); $.post("controller.pl", data, kivi.eval_json_result); @@ -468,7 +528,7 @@ namespace('kivi.Order', function(ns) { ns.add_multi_items = function(data) { var insert_before_item_id = ns.get_insert_before_item_id($('#multi_items_position').val()); data = data.concat($('#order_form').serializeArray()); - data.push({ name: 'action', value: 'Order/add_multi_items' }, + data.push({ name: 'action', value: 'DeliveryOrder/add_multi_items' }, { name: 'insert_before_item_id', value: insert_before_item_id }); $.post("controller.pl", data, kivi.eval_json_result); }; @@ -510,7 +570,7 @@ namespace('kivi.Order', function(ns) { var item_id_dom = $(row).find('[name="orderitem_ids[+]"]'); var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/price_popup' }, + data.push({ name: 'action', value: 'DeliveryOrder/price_popup' }, { name: 'item_id', value: item_id_dom.val() }); $.post("controller.pl", data, kivi.eval_json_result); @@ -521,7 +581,7 @@ namespace('kivi.Order', function(ns) { var vc; var vc_id; var title; - if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) { + if ($('#order_customer_id').val()) { vc = 'customer'; vc_id = $('#order_customer_id').val(); title = kivi.t8('Customer details'); @@ -533,7 +593,7 @@ namespace('kivi.Order', function(ns) { kivi.popup_dialog({ url: 'controller.pl', - data: { action: 'Order/show_customer_vendor_details_dialog', + data: { action: 'DeliveryOrder/show_customer_vendor_details_dialog', type : $('#type').val(), vc : vc, vc_id : vc_id @@ -553,7 +613,7 @@ namespace('kivi.Order', function(ns) { 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: 'action', value: 'DeliveryOrder/update_row_from_master_data' }); data.push({ name: 'item_ids[]', value: item_id_dom.val() }); $.post("controller.pl", data, kivi.eval_json_result); @@ -570,7 +630,7 @@ namespace('kivi.Order', function(ns) { } var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/update_row_from_master_data' }); + data.push({ name: 'action', value: 'DeliveryOrder/update_row_from_master_data' }); data = data.concat(item_ids); $.post("controller.pl", data, kivi.eval_json_result); @@ -593,7 +653,7 @@ namespace('kivi.Order', function(ns) { ns.purchase_order_check_for_direct_delivery = function() { if ($('#type').val() != 'sales_order') { - kivi.submit_form_with_action($('#order_form'), 'Order/purchase_order'); + kivi.submit_form_with_action($('#order_form'), 'DeliveryOrder/purchase_order'); } var empty = true; @@ -623,7 +683,7 @@ namespace('kivi.Order', function(ns) { if (!empty) { ns.direct_delivery_dialog(shipto); } else { - kivi.submit_form_with_action($('#order_form'), 'Order/purchase_order'); + kivi.submit_form_with_action($('#order_form'), 'DeliveryOrder/purchase_order'); } }; @@ -634,7 +694,7 @@ namespace('kivi.Order', function(ns) { $('').appendTo('#order_form').val('1'); } - kivi.submit_form_with_action($('#order_form'), 'Order/purchase_order'); + kivi.submit_form_with_action($('#order_form'), 'DeliveryOrder/purchase_order'); }; ns.direct_delivery_dialog = function(shipto) { @@ -644,9 +704,9 @@ namespace('kivi.Order', function(ns) { var text2 = kivi.t8('Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?'); var html = '
' + text1 + '
' + shipto + '
' + text2 + '
'; html = html + ''; - html = html + ''; + html = html + ''; html = html + ' '; - html = html + ''; + html = html + ''; html = html + '