fix(acl): Resource permission descriptions and class_map Resource Type UI - #17011
Open
Ibochkarev wants to merge 2 commits into
Open
fix(acl): Resource permission descriptions and class_map Resource Type UI#17011Ibochkarev wants to merge 2 commits into
Ibochkarev wants to merge 2 commits into
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
Partial fix for #14479, following the 2026 re-check on the issue.
Most Resource keys already do what the processors and tree expect. Create / Update / Delete enforce type keys (
new_weblinkand friends) when you pick a derivativeclass_key. This PR covers the leftover UX and lexicon gaps.class_map— create/edit panel, create window, and quick create no longer mountmodx-combo-class-derivatives. They keep a hiddenclass_keywith the current value. That stops the access-denied popup fromSystem/Derivatives/GetList. Processors still enforcenew_*/edit_*on POST.publish_documentis publish-only.delete_documentis soft-delete (purge_deletedfor permanent).edit_lockedis Elements, not Resource session locks.steal_locks/ objectsteal_lockboth called out. Type keys note they sit on top ofnew_document.view_documentvsResource/Get/GetListclarified.class_maptied to the Resource Type combo.Also removed a duplicate hidden
class_keynext to the combo in quick create.How to test
class_map
class_map: open Resource create/edit — no Resource Type combo, no Derivatives/GetList error, save keepsclass_key.class_map: combo loads as before.Type keys (already in processors; smoke)
new_weblink: create WebLink or change type to WebLink → denied.new_weblink+new_document: same ops succeed.Lexicon
PHPUnit
8 tests, exit 0.
Related issue(s)/PR(s)
Refs #14479
Related: #14467 (trash /
purge_deleted), #14434 (resource tree)Compatibility notes
Manager UI + en lexicon only. Other locales keep old wording until Crowdin sync. No CHANGELOG entry.
Breaking change assessment
No public API changes. Without
class_map, users no longer see Resource Type in those three forms. They still cannot load the type list via the processor. Creating/changing types still needs the matchingnew_*keys.Test coverage
_build/test/Tests/Controllers/ResourceAccessPolicyTest.php— lexicon strings, class_map ternary in panel/window/tree, no duplicate quick-createclass_key.Contributors
@Ruslan-Aleev opened the issue. Scope from the 2026 re-check.