X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FInventory.pm;h=f3f29388d6925702950f9c2f090839e24b69b65b;hb=aa18b62a0d5ae5640e9061c44e10c19cfb3dbf9f;hp=f894e06db2e3ea79c63627ddc26a3961e2cab0d1;hpb=6ac47be4e3e318ea212ca595195b0b55a9c386a3;p=kivitendo-erp.git diff --git a/SL/Controller/Inventory.pm b/SL/Controller/Inventory.pm index f894e06db..f3f29388d 100644 --- a/SL/Controller/Inventory.pm +++ b/SL/Controller/Inventory.pm @@ -58,6 +58,7 @@ sub action_stock { }); if ($::form->{write_default_bin}) { + $self->part->load; # onhand is calculated in between. don't mess that up $self->part->bin($self->bin); $self->part->warehouse($self->warehouse); $self->part->save; @@ -122,7 +123,7 @@ sub _check_warehouses { } sub init_warehouses { - SL::DB::Manager::Warehouse->get_all; + SL::DB::Manager::Warehouse->get_all(query => [ or => [ invalid => 0, invalid => undef ]]); } sub init_units { @@ -149,8 +150,8 @@ sub set_target_from_part { sub sanitize_target { my ($self) = @_; - $self->warehouse(SL::DB::Manager::Warehouse->get_first) if !$self->warehouse || !$self->warehouse->id; - $self->bin ($self->warehouse->bins->[0]) if !$self->bin || !$self->bin->id; + $self->warehouse($self->warehouses->[0]) if !$self->warehouse || !$self->warehouse->id; + $self->bin ($self->warehouse->bins->[0]) if !$self->bin || !$self->bin->id; } sub load_part_from_form { @@ -230,7 +231,7 @@ sub mini_stock { $self->{stock_empty} = ! grep { $_->{sum} * 1 } @$stock; } -sub show_no_warehouse_error { +sub show_no_warehouses_error { my ($self) = @_; my $msg = t8('No warehouse has been created yet or the quantity of the bins is not configured yet.') . ' ';