Skip to content

Fix user group ACL UI permission keys - #7

Open
Ibochkarev wants to merge 1 commit into
3.xfrom
fix/issue-14497-acl-permissions
Open

Fix user group ACL UI permission keys#7
Ibochkarev wants to merge 1 commit into
3.xfrom
fix/issue-14497-acl-permissions

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Что сделано

Гриды ACL группы пользователей проверяли usergroup_create. Эта строка — лексикон-ключ Form Customization, а не разрешение Access Policy, поэтому userCanCreate всегда было false. Кнопки Add Context/Category/Source/Namespace/Resource Group игнорировали флаг и оставались видимыми.

Этот PR:

  • Использует usergroup_new + usergroup_save для этих кнопок Create (getCreateAclButton на UserGroupBase).
  • Прячет New User Group (тулбар дерева и контекстное меню) без usergroup_new и usergroup_save.
  • Прячет Add User, если у менеджера нет одновременно usergroup_user_edit и usergroup_user_list, поэтому выключение list больше не оставляет комбо пользователей как черный ход.
  • Убирает формулировку «delete or remove» у delete_role в английском лексиконе.

Скрытие родительского меню (access_permissions), таб vs прямой URL и процессорный new без save не меняются. Это относится к modxcms#16595 и остальной серии ACL 2019.

Как проверить

  1. Администратор: Access Control Lists по-прежнему показывает Add Context (и другие Add ACL) и New User Group.
  2. Политика без usergroup_new или без usergroup_save: эти контролы Create скрыты. Security/Group/Create по-прежнему требует только usergroup_new при прямом вызове.
  3. Политика без usergroup_user_list, с usergroup_user_edit: Add User скрыт в дереве и в гриде пользователей группы. Грид пользователей группы остаётся скрытым (существующее поведение).
  4. Gate E (этот запуск):
    • php -l на затронутых PHP: exit 0
    • core/vendor/bin/phpunit -c _build/test/phpunit.xml --filter AccessPermissionUiTest --no-coverage: OK (10 тестов, 34 assertions)
    • core/vendor/bin/phpcs --standard=phpcs.xml _build/test/Tests/Model/Security/AccessPermissionUiTest.php: exit 0

Связанные

Refs modxcms#14497 (не закрывает полный инвентарь 2019). Связанные: modxcms#14406, modxcms#14434, modxcms#16595.

Совместимость

Только менеджер UI. Проверки разрешений коннектора не менялись. Безопасно для 3.x patch.

Оригинал: modxcms#17004

The ACL grids checked usergroup_create, which is not a policy key, and Add User still listed users without usergroup_user_list.
@Ibochkarev Ibochkarev changed the title Фикс ключей разрешений UI ACL группы пользователей Fix user group ACL UI permission keys Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant