Skip to content

Commit a3088b8

Browse files
committed
#12017 consider only active user roles for settings access user groups
1 parent 281b92a commit a3088b8

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

controllers/grid/settings/roles/form/UserGroupForm.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use APP\core\Request;
2121
use APP\facades\Repo;
2222
use APP\template\TemplateManager;
23+
use Illuminate\Database\Query\Builder;
2324
use PKP\core\JSONMessage;
2425
use PKP\db\DAORegistry;
2526
use PKP\facades\Locale;
@@ -116,7 +117,11 @@ public function initData()
116117
// Get a list of all settings-accessible user groups for the current user in
117118
// order to prevent them from locking themselves out by disabling the only one.
118119
$mySettingsAccessUserGroupIds = UserGroup::withContextIds([$this->getContextId()])
119-
->withUserIds([Application::get()->getRequest()->getUser()->getId()])
120+
->whereHas(
121+
'userUserGroups',
122+
fn (Builder $q) =>
123+
$q->withActive()->withUserIds([Application::get()->getRequest()->getUser()->getId()])
124+
)
120125
->get()
121126
->filter(fn ($userGroup) => $userGroup->permitSettings)
122127
->map(fn ($userGroup) => $userGroup->id)

0 commit comments

Comments
 (0)