Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUGFIX: Add content element wrapping to restricted nodes #3888

Open
wants to merge 1 commit into
base: 8.3
Choose a base branch
from

Conversation

mhsdesign
Copy link
Member

Previously opening a document where some nodes were not permitted to be edited was hard to navigate, as the content element wrapping was not rendered. Clicking into the elements showed no outline and navigation via the content tree was not possible. But more importantly inserting nodes into the content collection were likely misplaced until reloading as the Neos Ui does not understand the structure of the site.

Instead - as reading the nodes and its information is permitted and needed for rendering - we will always wrap content elements if editable or not.

To avoid having to boot the ckeditor for inline elements we instead evaluate the edit permission there and decide to hide the inline element wrapping. (Previously they would be rendered but not booted because the neos ui didnt had the outer content element wrapping)

What I did

How I did it

How to verify it

Previously opening a document where some nodes were not permitted to be edited was hard to navigate, as the content element wrapping was not rendered. Clicking into the elements showed no outline and navigation via the content tree was not possible.
But more importantly inserting nodes into the content collection were likely misplaced until reloading as the Neos Ui does not understand the structure of the site.

Instead - as reading the nodes and its information is permitted and needed for rendering - we will always wrap content elements if editable or not.

To avoid having to boot the ckeditor for inline elements we instead evaluate the edit permission there and decide to hide the inline element wrapping. (Previously they would be rendered but not booted because the neos ui didnt had the outer content element wrapping)
@github-actions github-actions bot added Bug Label to mark the change as bugfix 8.3 labels Nov 20, 2024
@@ -166,6 +170,6 @@ protected function needsMetadata(NodeInterface $node, $renderCurrentDocumentMeta
/** @var $contentContext ContentContext */
$contentContext = $node->getContext();

return ($contentContext->isInBackend() === true && ($renderCurrentDocumentMetadata === true || $this->nodeAuthorizationService->isGrantedToEditNode($node) === true));
return $contentContext->isInBackend() === true || $renderCurrentDocumentMetadata === true;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note that we removed this $renderCurrentDocumentMetadata thingy in Neos 9.0 already, it is very much a code smell but i left it untouched :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.3 Bug Label to mark the change as bugfix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant