<td>[% L.select_tag('order.taxzone_id', SELF.all_taxzones, default=SELF.order.taxzone_id, title_key='description', style='width: 300px', class='recalc') %]</td>
</tr>
+[%- IF SELF.all_departments.size %]
+ <tr>
+ <th align="right">[% 'Department' | $T8 %]</th>
+ <td>
+ [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, style='width:300px') %]
+ </td>
+ </tr>
+[%- END %]
+
<tr>
<th align="right">[% 'Shipping Point' | $T8 %]</th>
<td>[% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, style='width: 300px') %]</td>
[%- PROCESS order/tabs/_item_input.html %]
- [% L.button_tag('setup_multi_items_dialog()', LxERP.t8('Add multiple parts')) %]</td>
+ [% L.button_tag('show_multi_items_dialog()', LxERP.t8('Add multiple items')) %]</td>
<table width="100%">
<tr>
$.post("controller.pl", data, kivi.eval_json_result);
}
-function add_item() {
- if ($('#add_item_parts_id').val() == '') return;
- if (!check_cv()) return;
+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/add_item';
- data += '&type=' + $('#type').val();
+ 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 setup_multi_items_dialog() {
+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;
+
var data = $('#order_form').serialize();
- data += '&action=Order/show_multi_items_dialog';
+ data += '&action=Order/add_item';
+ data += '&type=' + $('#type').val();
$.post("controller.pl", data, kivi.eval_json_result);
}
-var multi_items_dialog;
-
-function show_multi_items_dialog(html, title) {
- var id = 'jq_multi_items_dialog';
- var dialog_params = {
- id: id,
- width: 800,
- height: 500,
- modal: true,
- close: function(event, ui) {
- multi_items_dialog.remove();
- },
- };
-
- $('#' + id).remove();
-
- multi_items_dialog = $('<div style="display:none" id="' + id + '"></div>').appendTo('body');
- multi_items_dialog.attr('title', title);
- multi_items_dialog.html(html);
- multi_items_dialog.dialog(dialog_params);
-
- $('.cancel').click(close_multi_items_dialog);
+function show_multi_items_dialog() {
+ if (!check_cv()) return;
+ var data = 'type=' + $('#type').val();
+ data += 'type=' + $('#type').val();
+ kivi.popup_dialog({
+ url: 'controller.pl?action=Order/show_multi_items_dialog',
+ data: $.extend({},
+ { '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;
}
-var close_multi_items_dialog = function() {
- multi_items_dialog.dialog('close');
-}
+function close_multi_items_dialog() {
+ $('#jq_multi_items_dialog').dialog('close');
+};
function delete_order_item_row(clicked) {
var row = $(clicked).parents("tbody").first();
});
}
+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.data('oldval', selects.val());
+
+ selects.change(unit_change);
+}
+
var email_dialog;
function show_email_dialog(html) {
row_set_keyboard_events($('.row_entry'));
$('.recalc').change(recalc_amounts_and_taxes);
$('.reformat_number').change(reformat_number);
+
+ set_unit_change_with_oldval($('.unitselect'));
});
</script>