From 8830544b03106eac39720268e65f1d2ff9455c6a 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.php | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/models/Institute.php b/lib/models/Institute.php
index a10c1c8902e..5ecdcefc6c2 100644
--- a/lib/models/Institute.php
+++ b/lib/models/Institute.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