[MGNLUI-5963] Cannot save Multi Value dialog if no "Write" permission on Root node Created: 11/Jun/20  Updated: 06/Jan/21  Resolved: 06/Jan/21

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: 5.7.7, 6.2.1
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Carlos Cantalapiedra Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
duplicate
duplicates MGNLUI-6185 Non root users cannot save jcrMultiFi... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Steps to reproduce:

  1. Create a page "myPage" on the Pages app
  2. Create a role which can "Read only" the root node of the website workspace and can "Read/Write" on myPage node (Selected and subNodes)
  3. Create a user and assign the role created on step 2
  4. Log in with the new user
  5. Go to Pages app and within myPage create a multi field component.
  6. Fulfil it with a couple of elements and click on "Submit/Save" button
  7. An error is thrown because the user can't write on root node

Expected results:
Tho the user do not have ACLs to write on root node, this TMP node which is created to order the nodes of the multi field should work

Actual results:
An exception is thrown when the user tries to create the TMP node on the root level

Workaround:
Give access to everyone on root node (only selected)

Development notes:
The exception is being thrown by info.magnolia.ui.editor.DefaultJcrNodeOrderHandler.applyOrder method. At line 99 gets executed the code:

Node tmpStorage = session.getRootNode().addNode(nodeNameHelper.getUniqueName(session.getRootNode(), TMP_ORDER_STORAGE));

That triggers the "Access denied" exception.


Generated at Mon Feb 12 09:31:47 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.