From 8c5a90d52e8f3ea8edb4ee2e24275c96119e07aa Mon Sep 17 00:00:00 2001
From: Peter Thienel <thienel@data-quest.de>
Date: Tue, 6 Sep 2022 07:04:18 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20"Verhaltens=C3=A4nderung=20in=20RoleP?=
 =?UTF-8?q?ersistence::getAssignedRoleInstitutes()=20durch=20#1180"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #1360

Merge request studip/studip!965
---
 lib/classes/MvvPerm.php | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/classes/MvvPerm.php b/lib/classes/MvvPerm.php
index d7f3732cf74..918375da771 100644
--- a/lib/classes/MvvPerm.php
+++ b/lib/classes/MvvPerm.php
@@ -337,8 +337,8 @@ class MvvPerm {
             }
             if (count($institut_ids)) {
                 $institutes_assigned_role = RolePersistence::getAssignedRoleInstitutes($user_id, $role->roleid);
-                // count($institutes_assigned_role) === 1 means global role...
-                if (count($institutes_assigned_role) === 1
+                // count($institutes_assigned_role) === 0 means global role.
+                if (count($institutes_assigned_role) === 0
                         || count(array_intersect($institut_ids, $institutes_assigned_role))) {
                     if (!$status) {
                         $priv = intval(self::$privileges[$mvv_table]['default_table'][$role->rolename]);
@@ -457,8 +457,8 @@ class MvvPerm {
             }
             if (count($institut_ids)) {
                 $institutes_assigned_role = RolePersistence::getAssignedRoleInstitutes($user_id, $role->roleid);
-                // count($institutes_assigned_role) === 1 means global role...
-                if (count($institutes_assigned_role) === 1
+                // count($institutes_assigned_role) === 0 means global role.
+                if (count($institutes_assigned_role) === 0
                         || count(array_intersect($institut_ids, $institutes_assigned_role))) {
                     $priv = is_array($field)
                             ? self::$privileges[$mvv_table]['fields'][$field[0]][$field[1]][$status][$role->rolename]
@@ -617,7 +617,7 @@ class MvvPerm {
                     break;
                 }
                 $institutes_assigned_role = RolePersistence::getAssignedRoleInstitutes($user_id, $role->roleid);
-                if (count($institutes_assigned_role) === 1) {
+                if (count($institutes_assigned_role) === 0) {
                     // this role is globally defined for this user
                     $institutes = [];
                     break;
-- 
GitLab