mini_stock auch direkt nach dem einlagern anzeigen.
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 16 Jul 2013 08:54:38 +0000 (10:54 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Thu, 18 Jul 2013 07:08:59 +0000 (09:08 +0200)
SL/Controller/Inventory.pm
templates/webpages/inventory/_stock.html

index e7eb122..88c24fb 100644 (file)
@@ -28,6 +28,7 @@ __PACKAGE__->run_before('load_unit_from_form',   only => [ qw(stock_in part_chan
 __PACKAGE__->run_before('load_wh_from_form',     only => [ qw(stock_in warehouse_changed stock) ]);
 __PACKAGE__->run_before('load_bin_from_form',    only => [ qw(stock_in stock) ]);
 __PACKAGE__->run_before('set_target_from_part',  only => [ qw(part_changed) ]);
+__PACKAGE__->run_before('mini_stock',            only => [ qw(stock_in mini_stock) ]);
 __PACKAGE__->run_before('sanitize_target',       only => [ qw(stock_in warehouse_changed part_changed) ]);
 __PACKAGE__->run_before('set_layout');
 
@@ -104,12 +105,8 @@ sub action_warehouse_changed {
 sub action_mini_stock {
   my ($self) = @_;
 
-  my $stock        = $self->part->get_simple_stock;
-  my $stock_by_bin = { map { $_->{bin_id} => $_ } @$stock };
-  my $stock_empty  = ! grep { $_->{sum} * 1 } @$stock;
-
   $self->js
-    ->html('#stock', $self->render('inventory/_stock', { output => 0 }, stock => $stock_by_bin, stock_empty => $stock_empty ))
+    ->html('#stock', $self->render('inventory/_stock', { output => 0 }))
     ->render($self);
 }
 
@@ -224,6 +221,14 @@ sub mini_journal {
   return \@sorted;
 }
 
+sub mini_stock {
+  my ($self) = @_;
+
+  my $stock             = $self->part->get_simple_stock;
+  $self->{stock_by_bin} = { map { $_->{bin_id} => $_ } @$stock };
+  $self->{stock_empty}  = ! grep { $_->{sum} * 1 } @$stock;
+}
+
 sub show_no_warehouse_error {
   my ($self) = @_;
 
index 4bd57eb..3b018b4 100644 (file)
@@ -5,7 +5,7 @@
 [%- IF SELF.part.id %]
 <h3>[% LxERP.t8('Stock for part #1', SELF.part.long_description) %]</h3>
 
-[%- IF stock_empty && !SELF.part.bin_id  %]
+[%- IF SELF.stock_empty && !SELF.part.bin_id  %]
 <p>[% 'Nothing stocked yet.' | $T8 %]</p>
 [%- ELSE %]
 <table>
@@ -17,7 +17,7 @@
 [%- FOREACH wh = SELF.warehouses -%]
 [%- FOREACH bin = wh.bins -%]
   [%#- display any bins with stock and default bin -%]
-  [%- SET stock__set = stock.${bin.id} -%]
+  [%- SET stock__set = SELF.stock_by_bin.${bin.id} -%]
   [%- IF stock__set.sum > 0 || SELF.part.bin_id == bin.id -%]
   <tr class='listrow'>
     <td>[% bin.warehouse.description %]</td>