X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9af3ce1ca10555dff25e4762d2eb1e7fa0c1e877..e8889e47af38072dc6fcbb4d97e2fdcc30d948d7:/templates/webpages/order/tabs/basic_data.html diff --git a/templates/webpages/order/tabs/basic_data.html b/templates/webpages/order/tabs/basic_data.html index 3d7507139..102d5ed83 100644 --- a/templates/webpages/order/tabs/basic_data.html +++ b/templates/webpages/order/tabs/basic_data.html @@ -41,6 +41,15 @@ [% L.select_tag('order.taxzone_id', SELF.all_taxzones, default=SELF.order.taxzone_id, title_key='description', style='width: 300px', class='recalc') %] +[%- IF SELF.all_departments.size %] + + [% 'Department' | $T8 %] + + [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, style='width:300px') %] + + +[%- END %] + [% 'Shipping Point' | $T8 %] [% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, style='width: 300px') %] @@ -56,6 +65,11 @@ [% L.input_tag('order.transaction_description', SELF.order.transaction_description, style='width: 300px') %] + + [% 'Project Number' | $T8 %] + [% L.project_picker('order.globalproject_id', SELF.order.globalproject_id, style='width: 300px') %] + + @@ -112,13 +126,13 @@ - [% 'Insert Date' | $T8 %] - [% SELF.order.itime_as_date %] + [% 'Reqdate' | $T8 %] + [% L.date_tag('order.reqdate', SELF.order.reqdate) %] - [% 'Project Number' | $T8 %] - [%- L.select_tag('order.globalproject_id', SELF.all_projects, default=SELF.order.globalproject_id, title_key='projectnumber', with_empty = 1) %] + [% 'Insert Date' | $T8 %] + [% SELF.order.itime_as_date %] @@ -129,6 +143,8 @@ [%- PROCESS order/tabs/_item_input.html %] + [% L.button_tag('show_multi_items_dialog()', LxERP.t8('Add multiple parts')) %] + + - - - + + + - - + + + [%- FOREACH item = SELF.order.items_sorted %] - [%- PROCESS order/tabs/_row.html ITEM=item %] + [%- PROCESS order/tabs/_row.html ITEM=item ID=item.id %] [%- END %]
@@ -138,21 +154,23 @@
[%- 'position' | $T8 %] [%- LxERP.t8('reorder item') %] [%- LxERP.t8('delete item') %][%- 'Partnumber' | $T8 %] [%- 'Description' | $T8 %] [%- 'Qty' | $T8 %] [%- 'Partnumber' | $T8 %][%- 'Description' | $T8 %] [%- 'Qty' | $T8 %] [%- 'Price Factor' | $T8 %] [%- 'Unit' | $T8 %] [%- 'Price' | $T8 %] [%- 'Discount' | $T8 %] [%- 'Price Source' | $T8 %] [%- 'Price' | $T8 %] [%- 'Discount' | $T8 %] [%- 'Extended' | $T8 %]
@@ -255,23 +273,161 @@ function reload_cv_dependend_selections() { $.post("controller.pl", data, kivi.eval_json_result); } +function unit_change(event) { + var row = $(event.target).parents("tbody").first(); + var item_id_dom = $(row).find('[name="orderitem_ids[+]"]'); + var sellprice_dom = $(row).find('[name="order.orderitems[].sellprice_as_number"]'); + var select_elt = $(row).find('[name="order.orderitems[].unit"]'); + + var oldval = $(select_elt).data('oldval'); + $(select_elt).data('oldval', $(select_elt).val()); + + var data = $('#order_form').serialize(); + data += '&action=Order/unit_changed'; + data += '&item_id=' + item_id_dom.val(); + data += '&old_unit=' + oldval; + data += '&sellprice_dom_id=' + sellprice_dom.attr('id'); + + $.post("controller.pl", data, kivi.eval_json_result); +} + +function update_sellprice(item_id, price_str) { + var row = $('#item_' + item_id).parents("tbody").first(); + var price_elt = $(row).find('[name="order.orderitems[].sellprice_as_number"]'); + var html_elt = $(row).find('[name="sellprice_text"]'); + price_elt.val(price_str); + html_elt.html(price_str); +} + function add_item() { if ($('#add_item_parts_id').val() == '') return; if (!check_cv()) return; + $('#row_table_id thead a img').remove(); + var data = $('#order_form').serialize(); data += '&action=Order/add_item'; $.post("controller.pl", data, kivi.eval_json_result); } +function show_multi_items_dialog() { + if (!check_cv()) return; + + $('#row_table_id thead a img').remove(); + + kivi.popup_dialog({ + url: 'controller.pl?action=Order/show_multi_items_dialog', + data: { type: $('#type').val(), + callback: 'Order/add_multi_items', + callback_data_id: 'order_form' }, + id: 'jq_multi_items_dialog', + dialog: { + title: kivi.t8('Add multiple items'), + width: 800, + height: 500 + } + }); + return true; +} + +function close_multi_items_dialog() { + $('#jq_multi_items_dialog').dialog('close'); +}; + function delete_order_item_row(clicked) { var row = $(clicked).parents("tbody").first(); $(row).remove(); + renumber_positions(); recalc_amounts_and_taxes(); } +function price_chooser_item_row(clicked) { + var row = $(clicked).parents("tbody").first(); + var item_id_dom = $(row).find('[name="orderitem_ids[+]"]'); + + var data = $('#order_form').serialize(); + data += '&action=Order/price_popup'; + data += '&item_id=' + item_id_dom.val(); + + $.post("controller.pl", data, kivi.eval_json_result); +} + +function update_price_source(item_id, source, descr, price_str) { + var row = $('#item_' + item_id).parents("tbody").first(); + var source_elt = $(row).find('[name="order.orderitems[].active_price_source"]'); + var button_elt = $(row).find('[name="price_chooser_button"]'); + + button_elt.val(button_elt.val().replace(/.*\|/, descr + " |")); + source_elt.val(source); + + var editable_div_elt = $(row).find('[name="editable_price"]'); + var not_editable_div_elt = $(row).find('[name="not_editable_price"]'); + if ([%- AUTH.assert('edit_prices', 1) %] == 1 && source == '') { + // editable + $(editable_div_elt).show(); + $(not_editable_div_elt).hide(); + $(editable_div_elt).find(':input').prop("disabled", false); + $(not_editable_div_elt).find(':input').prop("disabled", true); + } else { + // not editable + $(editable_div_elt).hide(); + $(not_editable_div_elt).show(); + $(editable_div_elt).find(':input').prop("disabled", true); + $(not_editable_div_elt).find(':input').prop("disabled", false); + } + + if (price_str) { + var price_elt = $(row).find('[name="order.orderitems[].sellprice_as_number"]'); + var html_elt = $(row).find('[name="sellprice_text"]'); + price_elt.val(price_str); + html_elt.html(price_str); + recalc_amounts_and_taxes(); + } + + kivi.io.close_dialog(); +} + +function update_discount_source(item_id, source, descr, discount_str) { + var row = $('#item_' + item_id).parents("tbody").first(); + var source_elt = $(row).find('[name="order.orderitems[].active_discount_source"]'); + var button_elt = $(row).find('[name="price_chooser_button"]'); + + button_elt.val(button_elt.val().replace(/\|.*/, "| " + descr)); + source_elt.val(source); + + var editable_div_elt = $(row).find('[name="editable_discount"]'); + var not_editable_div_elt = $(row).find('[name="not_editable_discount"]'); + if ([%- AUTH.assert('edit_prices', 1) %] == 1 && source == '') { + // editable + $(editable_div_elt).show(); + $(not_editable_div_elt).hide(); + $(editable_div_elt).find(':input').prop("disabled", false); + $(not_editable_div_elt).find(':input').prop("disabled", true); + } else { + // not editable + $(editable_div_elt).hide(); + $(not_editable_div_elt).show(); + $(editable_div_elt).find(':input').prop("disabled", true); + $(not_editable_div_elt).find(':input').prop("disabled", false); + } + + if (discount_str) { + var discount_elt = $(row).find('[name="order.orderitems[].discount_as_percent"]'); + var html_elt = $(row).find('[name="discount_text"]'); + discount_elt.val(discount_str); + html_elt.html(discount_str); + recalc_amounts_and_taxes(); + } + + kivi.io.close_dialog(); +} + +function reformat_number(event) { + $(event.target).val(kivi.format_amount(kivi.parse_amount($(event.target).val()), -2)); +} + function recalc_amounts_and_taxes() { var data = $('#order_form').serialize(); data += '&action=Order/recalc_amounts_and_taxes'; @@ -321,10 +477,98 @@ function row_set_keyboard_events(rows) { }); } +function set_unit_change_with_oldval_by_id(item_id) { + var row = $('#item_' + item_id).parents("tbody").first(); + var select_elt = $(row).find('[name="order.orderitems[].unit"]'); + + set_unit_change_with_oldval(select_elt); +} + +function set_unit_change_with_oldval(selects) { + selects.each(function(idx,elt) { + $(elt).data('oldval', $(elt).val()); + }); + + selects.change(unit_change); +} + +var email_dialog; + +function show_email_dialog(html) { + var id = 'jqueryui_popup_dialog'; + var dialog_params = { + id: id, + width: 800, + height: 500, + modal: true, + close: function(event, ui) { + email_dialog.remove(); + }, + }; + + $('#' + id).remove(); + + email_dialog = $('').appendTo('body'); + email_dialog.html(html); + email_dialog.dialog(dialog_params); + + $('.cancel').click(close_email_dialog); + + return true; +} + +close_email_dialog = function() { + email_dialog.dialog("close"); +} + +function renumber_positions() { + $('.row_entry [name="position"]').each(function(idx, elt) { + $(elt).html(idx+1); + }); +} + +function reorder_items(order_by) { + var dir = $('#' + order_by + '_header_id a img').attr("data-sort-dir"); + $('#row_table_id thead a img').remove(); + + var src; + if (dir == "1") { + dir = "0"; + src = "image/up.png"; + } else { + dir = "1"; + src = "image/down.png"; + }; + + $('#' + order_by + '_header_id a').append('[%- LxERP.t8('sort items') %]'); + + var data = $('#order_form').serialize(); + data += '&action=Order/reorder_items'; + data += '&order_by=' + order_by; + data += '&sort_dir=' + dir; + + $.post("controller.pl", data, kivi.eval_json_result); +} + +function redisplay_items(data) { + var old_rows = $('.row_entry').detach(); + var new_rows = []; + $(data).each(function(idx, elt) { + new_rows.push(old_rows[elt.old_pos - 1]); + }); + $(new_rows).appendTo($('#row_table_id')); + renumber_positions(); +} + $(function(){ $('#order_[%- cv_id %]').change(reload_cv_dependend_selections); - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.sellprice, -2)) }); + [%- IF SELF.cv == 'customer' %] + $('#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)) }); + [%- END %] $('#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_input').keydown(function(event) { if(event.keyCode == 13) { event.preventDefault(); @@ -334,6 +578,13 @@ $(function(){ }); row_set_keyboard_events($('.row_entry')); $('.recalc').change(recalc_amounts_and_taxes); + $('.reformat_number').change(reformat_number); + + set_unit_change_with_oldval($('.unitselect')); }); +$('#row_table_id').on('sortstop', function(event, ui) { + $('#row_table_id thead a img').remove(); + renumber_positions(); +});