Auftrags-Controller: Positions-Spalte anzeigen und renummerieren bei Änderungen.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 18 Dec 2015 10:32:43 +0000 (11:32 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 11 Mar 2016 11:53:26 +0000 (12:53 +0100)
SL/Controller/Order.pm
templates/webpages/order/tabs/_row.html
templates/webpages/order/tabs/basic_data.html

index 8bebe38..0f71518 100644 (file)
@@ -371,6 +371,7 @@ sub action_add_item {
     ->run('row_table_scroll_down')
     ->run('row_set_keyboard_events_by_id', $item_id)
     ->run('set_unit_change_with_oldval_by_id', $item_id)
+    ->run('renumber_positions')
     ->on('.recalc', 'change', 'recalc_amounts_and_taxes')
     ->on('.reformat_number', 'change', 'reformat_number')
     ->focus('#add_item_parts_id_name');
@@ -429,6 +430,7 @@ sub action_add_multi_items {
   $self->js
     ->run('close_multi_items_dialog')
     ->run('row_table_scroll_down')
+    ->run('renumber_positions')
     ->on('.recalc', 'change', 'recalc_amounts_and_taxes')
     ->on('.reformat_number', 'change', 'reformat_number')
     ->focus('#add_item_parts_id_name');
index 9ca6bbb..b15424c 100644 (file)
       [% L.hidden_tag("order.orderitems[+].id", ITEM.id, id='item_' _ ID) %]
       [% L.hidden_tag("order.orderitems[].parts_id", ITEM.parts_id) %]
     </td>
+    <td>
+      <div name="position" class="numeric">
+        [% HTML.escape(ITEM.position) %]
+      </div>
+    </td>
     <td align="center">
       <img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]" class="dragdrop">
     </td>
index e49a1b7..0ee6bc8 100644 (file)
             <thead>
               <tr class="listheading">
                 <th class="listheading" style='display:none'></th>
+                <th class="listheading" nowrap width="3" >[%- 'position'     | $T8 %] </th>
                 <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
                 <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th>
                 <th class="listheading" nowrap width="15">[%- 'Partnumber'   | $T8 %] </th>
@@ -334,6 +335,7 @@ function delete_order_item_row(clicked) {
   var row = $(clicked).parents("tbody").first();
   $(row).remove();
 
+  renumber_positions();
   recalc_amounts_and_taxes();
 }
 
@@ -515,6 +517,12 @@ close_email_dialog = function() {
   email_dialog.dialog("close");
 }
 
+function renumber_positions() {
+  $('.row_entry [name="position"]').each(function(idx, elt) {
+    $(elt).html(idx+1);
+  });
+}
+
 
 $(function(){
   $('#order_[%- cv_id %]').change(reload_cv_dependend_selections);
@@ -539,4 +547,7 @@ $(function(){
   set_unit_change_with_oldval($('.unitselect'));
 });
 
+$('#row_table_id').on('sortstop', function(event, ui) {
+  renumber_positions();
+});
 </script>