From 87251ee4450cf76470fc78b3672f2fbac20fa220 Mon Sep 17 00:00:00 2001 From: Jepp9350 <2jepp9350@gmail.com> Date: Wed, 26 Mar 2025 11:39:30 +0100 Subject: [PATCH] Add branding support to departments and related routes This commit introduces changes to include branding information in departments. Updates were made to routes, forms, and objects to handle branding IDs and enforce validation. Additionally, a method call was added to track object changes when branding is updated. --- services/nginx/app/modules/forms/objects/create_branding_f.php | 1 + services/nginx/app/objects/departments_o.php | 1 + services/nginx/app/routes/BrandingRoute.php | 3 ++- services/nginx/app/routes/departmentsRoute.php | 3 ++- services/nginx/app/traits/db_object_t.php | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/nginx/app/modules/forms/objects/create_branding_f.php b/services/nginx/app/modules/forms/objects/create_branding_f.php index e2f1521c..57c41ed9 100644 --- a/services/nginx/app/modules/forms/objects/create_branding_f.php +++ b/services/nginx/app/modules/forms/objects/create_branding_f.php @@ -76,6 +76,7 @@ class create_branding_f extends form_helper_c // Set the departments branding id to the newly created branding id $department = (new departments_o())->select(self::getDepartmentId()); $department->branding->set((int)$branding->id); + $department->objectChanged(); } /** diff --git a/services/nginx/app/objects/departments_o.php b/services/nginx/app/objects/departments_o.php index 8f38f733..688cf8ca 100644 --- a/services/nginx/app/objects/departments_o.php +++ b/services/nginx/app/objects/departments_o.php @@ -295,6 +295,7 @@ class departments_o extends db 'description' => (string)$this->description->value(), 'economic_department_id' => (int)$this->economic_department_id->value(), 'dimension' => (int)$this->dimension->value(), + 'branding' => (int)$this->branding->value(), 'created_at' => (string)$this->created_at->value(), 'updated_at' => (string)$this->updated_at->value(), ]; diff --git a/services/nginx/app/routes/BrandingRoute.php b/services/nginx/app/routes/BrandingRoute.php index 51a66ab7..b8983e6a 100644 --- a/services/nginx/app/routes/BrandingRoute.php +++ b/services/nginx/app/routes/BrandingRoute.php @@ -27,7 +27,8 @@ class BrandingRoute // Check the user has specified the branding id if (self::isParametersSet(['id'])) { // Check if the parameters are of the correct type - self::requireType(self::getParameter('id'), self::TYPE_INT()); + self::requireType((int)self::getParameter('id'), self::TYPE_INT()); + self::requireMinValue((int)self::getParameter('id'), 1); // Select the object $branding = (new branding_o())->select(self::getParameter('id')); // Check if the object exists diff --git a/services/nginx/app/routes/departmentsRoute.php b/services/nginx/app/routes/departmentsRoute.php index 50b6cab6..7022eead 100644 --- a/services/nginx/app/routes/departmentsRoute.php +++ b/services/nginx/app/routes/departmentsRoute.php @@ -54,7 +54,8 @@ class departmentsRoute 'economic_department_id' => (int)$department['economic_department_id'], 'created_at' => (string)$department['created_at'], 'updated_at' => (string)$department['updated_at'], - 'dimension' => (int)$department['dimension'] + 'dimension' => (int)$department['dimension'], + 'branding' => (int)$department['branding'], ]; // If the user has the permission to view the slack webhook, add it to the response if ($user->hasPermission('view_slack_webhook')) { diff --git a/services/nginx/app/traits/db_object_t.php b/services/nginx/app/traits/db_object_t.php index 6d4a99cd..dc8e0f07 100644 --- a/services/nginx/app/traits/db_object_t.php +++ b/services/nginx/app/traits/db_object_t.php @@ -116,6 +116,7 @@ trait db_object_t return json_encode($this->getArray()); } + /** * Require selected object. * Will throw an exception if object is not selected.