From 5770d0d7fa3e4f3f52e5bd8cefc73673f7940bca Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 22 May 2024 07:03:28 +0000 Subject: [PATCH] add more and more checks (the controller needs some serious rework), fixes #4010 Closes #4010 Merge request studip/studip!2863 --- app/controllers/course/room_requests.php | 4 ++-- app/views/course/room_requests/_new_request_form_footer.php | 5 +---- lib/models/resources/ResourceCategory.class.php | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/controllers/course/room_requests.php b/app/controllers/course/room_requests.php index 3ce117ce76f..2a12c9b3b97 100644 --- a/app/controllers/course/room_requests.php +++ b/app/controllers/course/room_requests.php @@ -254,7 +254,7 @@ class Course_RoomRequestsController extends AuthenticatedController $this->selected_room = Resource::find($_SESSION[$request_id]['room_id'] ?: $this->request->resource_id); $this->selected_room_category_id = $this->selected_room->category_id ?? $_SESSION[$request_id]['room_category_id'] ?? null; - $this->category = ResourceCategory::find($this->selected_room_category_id); + $this->category = $this->selected_room_category_id ? ResourceCategory::find($this->selected_room_category_id) : null; $_SESSION[$request_id]['room_category_id'] = $_SESSION[$request_id]['room_category_id'] ?? $this->selected_room->category_id ?? null; @@ -546,7 +546,7 @@ class Course_RoomRequestsController extends AuthenticatedController $_SESSION[$request_id]['search_by'] = $this->selected_room ? 'roomname' : 'category'; $_SESSION[$request_id]['room_category_id'] = $this->selected_room_category->id; - $_SESSION[$request_id]['room_id'] = $this->selected_room->id; + $_SESSION[$request_id]['room_id'] = $this->selected_room ? $this->selected_room->id : ''; } public function store_request_action($request_id) diff --git a/app/views/course/room_requests/_new_request_form_footer.php b/app/views/course/room_requests/_new_request_form_footer.php index 0bad0763b63..0d5046747bc 100644 --- a/app/views/course/room_requests/_new_request_form_footer.php +++ b/app/views/course/room_requests/_new_request_form_footer.php @@ -27,10 +27,7 @@ <? if ( ( $step === 1 - && ( - !isset($_SESSION[$request_id]['room_category_id']) - || $_SESSION[$request_id]['room_category_id'] !== '0' - ) + && !empty($_SESSION[$request_id]['room_category_id']) ) || $step === 2 ) : ?> diff --git a/lib/models/resources/ResourceCategory.class.php b/lib/models/resources/ResourceCategory.class.php index f4ae14d5a7e..766a5f61f97 100644 --- a/lib/models/resources/ResourceCategory.class.php +++ b/lib/models/resources/ResourceCategory.class.php @@ -85,7 +85,7 @@ class ResourceCategory extends SimpleORMap public static function find($id) { $all = self::findAll(); - return $all[$id] ?: null; + return $all[$id] ?? null; } /** -- GitLab