From e4e8f62ecc99298f77a1a472b2df34db84700851 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Fri, 8 Dec 2023 09:28:36 +0000
Subject: [PATCH] fixes #3547

Closes #3547

Merge request studip/studip!2436
---
 app/controllers/admin/statusgroups.php         |  7 ++-----
 lib/models/resources/ResourceRequest.class.php | 16 ++++++++--------
 templates/widgets/widget-layout.php            |  2 +-
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/app/controllers/admin/statusgroups.php b/app/controllers/admin/statusgroups.php
index a75d97e3e52..6129e228f87 100644
--- a/app/controllers/admin/statusgroups.php
+++ b/app/controllers/admin/statusgroups.php
@@ -354,13 +354,10 @@ class Admin_StatusgroupsController extends AuthenticatedController
      */
     private function setType()
     {
-
-        if (get_object_type(Context::getId(), ['inst', 'fak'])) {
-            $type = 'inst';
-        }
+        $type = Context::isInstitute() ? 'inst' : null;
         $types = $this->types();
 
-        if (!$type || Request::submitted('type') && $type != Request::get('type')) {
+        if (!$type || Request::submitted('type') && $type !== Request::get('type')) {
             $types[Request::get('type', 'inst')]['redirect']();
         } else {
             $this->type = $types[$type];
diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.class.php
index 20baf60964c..10c06fb3586 100644
--- a/lib/models/resources/ResourceRequest.class.php
+++ b/lib/models/resources/ResourceRequest.class.php
@@ -1187,10 +1187,10 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
                 if ($with_range) {
                     $date = CourseDate::find($appointment->appointment_id);
 
-                    $interval['range']       = 'ResourceRequestAppointment';
+                    $interval['range']       = ResourceRequestAppointment::class;
                     $interval['range_id']    = $appointment->appointment_id;
-                    $interval['booked_room'] = $date->room_booking->resource_id;
-                    $interval['booking_id']  = $date->room_booking->id;
+                    $interval['booked_room'] = $date->room_booking ? $date->room_booking->resource_id : null;
+                    $interval['booking_id']  = $date->room_booking ? $date->room_booking->id : null;
 
                 }
                 $time_intervals[] = $interval;
@@ -1212,7 +1212,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
                 ];
             }
             if ($with_range) {
-                $interval['range']       = 'CourseDate';
+                $interval['range']       = CourseDate::class;
                 $interval['range_id']    = $this->termin_id;
                 $interval['booked_room'] = $this->date->room_booking ? $this->date->room_booking->resource_id: null;
                 $interval['booking_id']  = $this->date->room_booking ? $this->date->room_booking->id : null;
@@ -1236,7 +1236,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
                     ];
                 }
                 if ($with_range) {
-                    $interval['range']       = 'CourseDate';
+                    $interval['range']       = CourseDate::class;
                     $interval['range_id']    = $date->id;
                     $interval['booked_room'] = $date->room_booking->resource_id;
                     $interval['booking_id']  = $date->room_booking->id;
@@ -1263,10 +1263,10 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
                         ];
                     }
                     if ($with_range) {
-                        $interval['range']       = 'CourseDate';
+                        $interval['range']       = CourseDate::class;
                         $interval['range_id']    = $date->id;
-                        $interval['booked_room'] = $date->room_booking->resource_id;
-                        $interval['booking_id']  = $date->room_booking->id;
+                        $interval['booked_room'] = $date->room_booking ? $date->room_booking->resource_id: null;
+                        $interval['booking_id']  = $date->room_booking ? $date->room_booking->id : null;
                     }
                     $time_intervals[] = $interval;
                 }
diff --git a/templates/widgets/widget-layout.php b/templates/widgets/widget-layout.php
index df3ff34b9dd..48f91a67023 100644
--- a/templates/widgets/widget-layout.php
+++ b/templates/widgets/widget-layout.php
@@ -1,5 +1,5 @@
 <div class="<?= $base_class ?>-widget <?= htmlReady(implode(' ', $layout_css_classes ?? [])) ?>">
-<? if ($title): ?>
+<? if (!empty($title)): ?>
     <div class="<?= $base_class ?>-widget-header">
         <?= htmlReady($title) ?>
     </div>
-- 
GitLab