X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=b82358b679138fc80fb93d1e6e6a0e9af8374802;hb=958b82d600cebec78ff208257b1fd348ee0439bf;hp=5459c0be2525e5914af213e63238ba81f249de90;hpb=5202b3e71b817c6a78845cd4c27773760ff408b6;p=kivitendo-erp.git diff --git a/js/kivi.Order.js b/js/kivi.Order.js index 5459c0be2..b82358b67 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -45,7 +45,7 @@ namespace('kivi.Order', function(ns) { } }; - ns.save = function(action, warn_on_duplicates, warn_on_reqdate) { + ns.save = function(action, warn_on_duplicates, warn_on_reqdate, back_to_caller) { if (!ns.check_cv()) return; if (warn_on_duplicates && !ns.check_duplicate_parts()) return; if (warn_on_reqdate && !ns.check_valid_reqdate()) return; @@ -53,6 +53,8 @@ namespace('kivi.Order', function(ns) { var data = $('#order_form').serializeArray(); data.push({ name: 'action', value: 'Order/' + action }); + if (back_to_caller) data.push({ name: 'back_to_caller', value: '1' }); + $.post("controller.pl", data, kivi.eval_json_result); }; @@ -96,6 +98,9 @@ namespace('kivi.Order', function(ns) { $('#print_options_form table').first().remove().appendTo('#email_form_print_options'); + $('select#format').change(kivi.Order.adjust_email_attachment_name_for_template_format); + kivi.Order.adjust_email_attachment_name_for_template_format(); + var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject'; $('#email_form_' + to_focus).focus(); }; @@ -155,6 +160,20 @@ namespace('kivi.Order', function(ns) { email_dialog.dialog("close"); }; + ns.adjust_email_attachment_name_for_template_format = function() { + var $filename_elt = $('#email_form_attachment_filename'); + var $format_elt = $('select#format'); + + if (!$filename_elt || !$format_elt) + return; + + var format = $format_elt.val().toLowerCase(); + var new_ext = format == 'html' ? 'html' : format == 'opendocument' ? 'odt' : 'pdf'; + var filename = $filename_elt.val(); + + $filename_elt.val(filename.replace(/[^.]+$/, new_ext)); + }; + ns.set_number_in_title = function(elt) { $('#nr_in_title').html($(elt).val()); }; @@ -234,6 +253,8 @@ namespace('kivi.Order', function(ns) { }; ns.recalc_amounts_and_taxes = function() { + if (!kivi.validate_form('#order_form')) return; + var data = $('#order_form').serializeArray(); data.push({ name: 'action', value: 'Order/recalc_amounts_and_taxes' }); @@ -453,6 +474,15 @@ namespace('kivi.Order', function(ns) { return insert_before_item_id; }; + ns.update_item_input_row = function() { + if (!ns.check_cv()) return; + + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/update_item_input_row' }); + + $.post("controller.pl", data, kivi.eval_json_result); + }; + ns.add_item = function() { if ($('#add_item_parts_id').val() === '') return; if (!ns.check_cv()) return; @@ -821,7 +851,7 @@ namespace('kivi.Order', function(ns) { if (number_info !== '') { info += ' (' + number_info + ')' } if (name_info !== '') { info += ' (' + name_info + ')' } - if (!$('#follow_up_rowcount').lenght) { + if (!$('#follow_up_rowcount').length) { $('').appendTo('#order_form'); $('').appendTo('#order_form'); $('').appendTo('#order_form'); @@ -837,6 +867,37 @@ namespace('kivi.Order', function(ns) { follow_up_window(); }; + ns.create_part = function() { + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/create_part' }); + + $.post("controller.pl", data, kivi.eval_json_result); + }; + + ns.check_transport_cost_article_presence = function() { + var $form = $('#order_form'); + var wanted_part_id = $form.data('transport-cost-reminder-article-id'); + + if (!wanted_part_id) return true + + var id_arr = $('[name="order.orderitems[].parts_id"]').map(function() { return this.value; }).get(); + id_arr = $.grep(id_arr, function(elt) { + return ((elt*1) === wanted_part_id); + }); + + if (id_arr.length) 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 ])); + }; + + ns.check_cusordnumber_presence = function() { + if ($('#order_cusordnumber').val() === '') { + return confirm(kivi.t8('The customer order number is missing. Do you want to continue anyway?')); + } + return true; + }; + }); $(function() { @@ -850,13 +911,9 @@ $(function() { $('#order_transdate_as_date').change(kivi.Order.update_exchangerate); $('#order_exchangerate_as_null_number').change(kivi.Order.exchangerate_changed); - if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) { - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.sellprice, -2)) }); - } else { - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.lastcost, -2)) }); - } - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_description').val(o.description) }); - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_unit').val(o.unit) }); + $('#add_item_parts_id').on('set_item:PartPicker', function() { + kivi.Order.update_item_input_row(); + }); $('.add_item_input').keydown(function(event) { if (event.keyCode == 13) {