From 7f3089f0862b454994f66f48dcfb9f61912382b5 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Wed, 5 Nov 2025 14:22:24 +0100 Subject: [PATCH] Refactor `orderBookingRoute` parameter extraction and data update logic - Added default parameter `false` to all `getTarget*` methods for enhanced flexibility. - Improved conditional checks before constructing update data array with `isset` for null safety. - Enhanced parameter validation by ensuring customer number is not empty during permission checks. --- .../nginx/app/routes/orderBookingRoute.php | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/services/nginx/app/routes/orderBookingRoute.php b/services/nginx/app/routes/orderBookingRoute.php index dffd105c..5ce2d9b3 100644 --- a/services/nginx/app/routes/orderBookingRoute.php +++ b/services/nginx/app/routes/orderBookingRoute.php @@ -128,17 +128,17 @@ class orderBookingRoute * Parameters */ $object = self::getTargetObject(); - $customer_number = self::getTargetCustomer(); // users_o object (Can only be changed by admins) - $department = self::getTargetDepartment(); // Int - $reg_1 = self::getTargetReg(1); // String - $reg_2 = self::getTargetReg(2); // String | Null - $reg_3 = self::getTargetReg(3); // String | Null - $datetime = self::getTargetDateTime(); // DateTime - $note = self::getTargetNote(); // String | Null - $reference = self::getTargetReference(); // String | Null - $po = self::getTargetPo(); // String | Null - $pickup = self::getTargetPickup(); // Bool | Null - $items = self::getTargetItems(); // Array of order_items_o objects + $customer_number = self::getTargetCustomer(false); // users_o object (Can only be changed by admins) + $department = self::getTargetDepartment(false); // Int + $reg_1 = self::getTargetReg(1, false); // String + $reg_2 = self::getTargetReg(2, false); // String | Null + $reg_3 = self::getTargetReg(3, false); // String | Null + $datetime = self::getTargetDateTime(false); // DateTime + $note = self::getTargetNote(false); // String | Null + $reference = self::getTargetReference(false); // String | Null + $po = self::getTargetPo(false); // String | Null + $pickup = self::getTargetPickup(false); // Bool | Null + $items = self::getTargetItems(false); // Array of order_items_o objects /** * Authentication */ @@ -169,19 +169,19 @@ class orderBookingRoute * Update the object */ $data = [ - ...(self::hasPermission($permission_other) ? [ + ...(self::hasPermission($permission_other && !empty($customer_number)) ? [ 'customer_number' => (int)$customer_number->customer_number->value(), ] : []), - 'department' => $department->id, - 'reg_1' => $reg_1, - 'reg_2' => $reg_2, - 'reg_3' => $reg_3, - 'datetime' => $datetime->format('Y-m-d H:i:s'), - 'note' => $note, - 'reference' => $reference, - 'po' => $po, - 'pickup' => $pickup, - 'items' => $items, + ...(isset($department) ? ['department' => $department->id] : []), + ...(isset($reg_1) ? ['reg_1' => $reg_1] : []), + ...(isset($reg_2) ? ['reg_2' => $reg_2] : []), + ...(isset($reg_3) ? ['reg_3' => $reg_3] : []), + ...(isset($datetime) ? ['datetime' => $datetime->format('Y-m-d H:i:s')] : []), + ...(isset($note) ? ['note' => $note] : []), + ...(isset($reference) ? ['reference' => $reference] : []), + ...(isset($po) ? ['po' => $po] : []), + ...(isset($pickup) ? ['pickup' => $pickup] : []), + ...(isset($items) ? ['items' => $items] : []), ]; $object->update($data); /**