X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/c591d7cc57b800cc74a070efeecca021782f5e35..3e79972f6ef:/SL/Helper/Inventory.pm diff --git a/SL/Helper/Inventory.pm b/SL/Helper/Inventory.pm index eb18305c8..147bc7d76 100644 --- a/SL/Helper/Inventory.pm +++ b/SL/Helper/Inventory.pm @@ -152,14 +152,8 @@ sub get_onhand { sub allocate { my (%params) = @_; - die SL::X::Inventory::Allocation->new( - error => 'allocate needs a part', - msg => t8("Method allocate needs the parameter 'part'"), - ) unless $params{part}; - die SL::X::Inventory::Allocation->new( - error => 'allocate needs a qty', - msg => t8("Method allocate needs the parameter 'qty'"), - ) unless $params{qty}; + croak('allocate needs a part') unless $params{part}; + croak('allocate needs a qty') unless $params{qty}; my $part = $params{part}; my $qty = $params{qty}; @@ -203,8 +197,8 @@ sub allocate { } if ($rest_qty > 0) { die SL::X::Inventory::Allocation->new( - error => 'not enough to allocate', - msg => t8("can not allocate #1 units of #2, missing #3 units", _format_number($qty), $part->displayable_name, _format_number($rest_qty)), + code => 'not enough to allocate', + message => t8("can not allocate #1 units of #2, missing #3 units", _format_number($qty), $part->displayable_name, _format_number($rest_qty)), ); } else { if ($params{constraints}) { @@ -244,8 +238,8 @@ sub check_constraints { if ('CODE' eq ref $constraints) { if (!$constraints->(@$allocations)) { die SL::X::Inventory::Allocation->new( - error => 'allocation constraints failure', - msg => t8("Allocations didn't pass constraints"), + code => 'allocation constraints failure', + message => t8("Allocations didn't pass constraints"), ); } } else { @@ -278,8 +272,8 @@ sub check_constraints { SL::DB::Bin->load_cached($_->bin_id)->full_description, _format_number($_->qty), _format_number($needed), $_->chargenumber ? $_->chargenumber : '--') for @allocs; die SL::X::Inventory::Allocation->new( - error => 'allocation constraints failure', - msg => $err, + code => 'allocation constraints failure', + message => $err, ); } } @@ -325,7 +319,10 @@ sub produce_assembly { $allocations_by_part{ $assembly->parts_id } -= $assembly->qty * $qty; } - die "allocations are insufficient for production" if any { $_ < 0 } values %allocations_by_part; + die SL::X::Inventory::Allocation->new( + code => "allocations are insufficient for production", + message => t8('can not allocate enough resources for production'), + ) if any { $_ < 0 } values %allocations_by_part; } my @transfers;