Skip to content

fix(acl): Resource permission descriptions and class_map Resource Type UI - #4

Open
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/issue-14479-resources-access-policy
Open

fix(acl): Resource permission descriptions and class_map Resource Type UI#4
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/issue-14479-resources-access-policy

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Что сделано

Частичный фикс для #14479 по перепроверке 2026 года.

Большинство ключей Resource уже делает то, что ожидают процессоры и дерево. Create / Update / Delete проверяют тип-ключи (new_weblink и прочие) при выборе производного class_key. Этот PR закрывает оставшиеся UX- и лексикон-пробелы.

  1. Resource Type без class_map — панель create/edit, окно create и quick create больше не монтируют modx-combo-class-derivatives. Они сохраняют скрытый class_key с текущим значением. Это убирает access-denied попап из System/Derivatives/GetList. Процессоры всё равно проверяют new_* / edit_* на POST.
  2. Английские описания разрешенийpublish_document только публикация. delete_document это soft-delete (purge_deleted для перманентного). edit_locked относится к Elements, а не к блокировкам ресурсов в сессии. steal_locks / объект steal_lock оба отмечены. Тип-ключи указывают, что сидят поверх new_document. view_document vs Resource/Get / GetList уточнено. class_map привязан к комбо Resource Type.

Также убран дублирующий скрытый class_key рядом с комбо в quick create.

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

class_map

  1. Политика без class_key: откройте create/edit ресурса — нет комбо Resource Type, нет ошибки Derivatives/GetList, сохранение держит class_key.
  2. С class_map: комбо грузится как раньше.

Тип-ключи (уже в процессорах; smoke)

  1. Без new_weblink: создать WebLink или сменить тип на WebLink → отказ.
  2. С new_weblink + new_document: те же операции успешны.

Лексикон

  1. Сбросьте кэш лексикона, откройте редактор Access Policy, проверьте обновлённые английские строки.

PHPUnit

php -l core/lexicon/en/permissions.inc.php
cd _build/test && ../../core/vendor/bin/phpunit --testsuite Controllers --filter ResourceAccessPolicyTest

8 тестов, exit 0.

Связанные

Refs modxcms#14479
Связанные: modxcms#14467 (trash / purge_deleted), modxcms#14434 (дерево ресурсов)

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

Только менеджер UI + en лексикон. Другие локали держат старые формулировки до синхронизации Crowdin. Без записи в CHANGELOG.

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

…s#14479)

Hide Resource Type combo without class_map (keep class_key as hidden).
Align en permission descriptions with soft-delete, publish-only,
edit_locked vs steal_locks, and view_document vs Get/GetList.
Collapse Resource Type field to a single conditional xtype, clarify
view_document vs Get/GetList policies, and note class_map is not a
create-type gate.
@Ibochkarev Ibochkarev changed the title fix(acl): описания разрешений Resource и UI Resource Type через class_map fix(acl): Resource permission descriptions and class_map Resource Type UI 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