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.
This commit is contained in:
Jeppe Bundgaard
2025-11-05 14:22:24 +01:00
parent 0f1efd9306
commit 7f3089f086
+22 -22
View File
@@ -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);
/**