diff --git a/lib/models/Institute.php b/lib/models/Institute.php index a10c1c8902e23e4ad0c6f16cff907033807a2b7d..5ecdcefc6c2de578549a00e1f9734774064adba8 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'; } /**