diff --git a/lib/models/Institute.class.php b/lib/models/Institute.class.php index d70548491c639a04b3a63dd135fa8148ee56c5b9..e01d99fc6a549a333d0f0432fc9884ca38165ee9 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'; } /**