__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');
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);
}
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) = @_;
[%- 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>
[%- 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>