From af8ecd65ab967f3d42c6248292d9e6dce5e39938 Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Tue, 27 Aug 2024 13:47:01 +0000
Subject: [PATCH] prevent php-warnings in Institute-Class, fixes #4534

Closes #4534

Merge request studip/studip!3329
---
 lib/models/Institute.class.php | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/models/Institute.class.php b/lib/models/Institute.class.php
index d70548491c6..e01d99fc6a5 100644
--- a/lib/models/Institute.class.php
+++ b/lib/models/Institute.class.php
@@ -311,12 +311,18 @@ class Institute extends SimpleORMap implements Range
     public function isEditableByUser($user_id = null): bool
     {
         if ($user_id === null) {
-            $user_id = User::findCurrent()->id;
+            $user = User::findCurrent();
+        } else {
+            $user = User::find($user_id);
+        }
+
+        if (!$user) {
+            return false;
         }
 
-        $member = $this->members->findOneBy('user_id', $user_id);
+        $member = $this->members->findOneBy('user_id', $user->id);
         return ($member && $member->inst_perms === 'admin')
-            || User::find($user_id)->perms === 'root';
+            || $user->perms === 'root';
     }
 
     /**
-- 
GitLab