Inventory-Helper: Constraints erweitert mit "reserve_for"
authorMartin Helmling martin.helmling@octosoft.eu <martin.helmling@octosoft.eu>
Thu, 9 Jan 2020 12:02:02 +0000 (13:02 +0100)
committerSven Schöling <s.schoeling@googlemail.com>
Fri, 27 Nov 2020 15:27:45 +0000 (16:27 +0100)
Nun können auch ausschließlich Reservierungen allokiert werden

zu egw #11765

SL/Helper/Inventory.pm

index b0dc16e..5388766 100644 (file)
@@ -57,11 +57,13 @@ sub _get_stock_onhand {
   }
 
   if ($params{date}) {
+    Carp::croak("not DateTime ".$params{date}) unless ref($params{date}) eq 'DateTime';
     push @where, sprintf "shippingdate <= ?";
     push @values, $params{date};
   }
 
   if ($params{bestbefore}) {
+    Carp::croak("not DateTime ".$params{date}) unless ref($params{bestbefore}) eq 'DateTime';
     push @where, sprintf "bestbefore >= ?";
     push @values, $params{bestbefore};
   }
@@ -279,6 +281,7 @@ sub check_constraints {
       bin_id       => 'bin_id',
       warehouse_id => 'warehouse_id',
       chargenumber => 'chargenumber',
+      reserve_for  => 'reserve_for_id',
     );
 
     for (keys %$constraints ) {
@@ -290,9 +293,10 @@ sub check_constraints {
 
       if (any { !$whitelist{$_->$accessor} } @$allocations) {
         my %error_constraints = (
-          bin_id       => t8('Bins'),
-          warehouse_id => t8('Warehouses'),
-          chargenumber => t8('Chargenumbers'),
+          bin_id         => t8('Bins'),
+          warehouse_id   => t8('Warehouses'),
+          chargenumber   => t8('Chargenumbers'),
+          reserve_for    => t8('Reserve For'),
         );
         my @allocs = grep { $whitelist{$_->$accessor} } @$allocations;
         my $needed = sum map { $_->qty } grep { !$whitelist{$_->$accessor} } @$allocations;