From 98fad559d4212772c92fd97c2b29d651e44ba143 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Mon, 6 Jan 2025 19:55:18 +0100 Subject: [PATCH] Don't replace due date on freezing when default_best_before_days_after_freezing are set to 0 (closes #1880) --- changelog/77_UNRELEASED_xxxx-xx-xx.md | 1 + services/StockService.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog/77_UNRELEASED_xxxx-xx-xx.md b/changelog/77_UNRELEASED_xxxx-xx-xx.md index 7396b76d..c841fe15 100644 --- a/changelog/77_UNRELEASED_xxxx-xx-xx.md +++ b/changelog/77_UNRELEASED_xxxx-xx-xx.md @@ -14,6 +14,7 @@ - This executes the configured barcode lookup plugin with the given barcode - If the lookup was successful, the product edit page of the created product is displayed, where the product setup can be completed (if required) - After that, the transaction is continued with that product +- Optimized that when moving a product to a freezer location (so when freezing it) the due date will no longer be replaced when the product option "Default due days after freezing" is set to `0` ### Shopping list diff --git a/services/StockService.php b/services/StockService.php index 56b42b49..d2a15bff 100644 --- a/services/StockService.php +++ b/services/StockService.php @@ -1266,7 +1266,7 @@ class StockService extends BaseService $locationTo = $this->getDatabase()->locations()->where('id', $locationIdTo)->fetch(); // Product was moved from a non-freezer to freezer location -> freeze - if ($locationFrom->is_freezer == 0 && $locationTo->is_freezer == 1 && $productDetails->product->default_best_before_days_after_freezing >= -1) + if ($locationFrom->is_freezer == 0 && $locationTo->is_freezer == 1 && ($productDetails->product->default_best_before_days_after_freezing > 0 || $productDetails->product->default_best_before_days_after_freezing == -1)) { if ($productDetails->product->default_best_before_days_after_freezing == -1) {