[MAGNOLIA-3066] processMultiple in SaveHandlerImpl should not delete existing contentNode! Created: 09/Feb/10  Updated: 04/Aug/15  Resolved: 04/Aug/15

Status: Closed
Project: Magnolia
Component/s: admininterface
Affects Version/s: 4.2.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Will Scheidegger Assignee: Philipp Bärfuss
Resolution: Outdated Votes: 0
Labels: dialog, multi-value
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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   

When the data of a VALUETYPE_MULTIPLE control is saved, the data is handled by the processMultiple() method in the SaveHandlerImpl class. This class first deletes the contentNode with the name of the control, then creates a new one and fills in the node data from the submitted dialog form.

The problem here is that by creating a new contentNode we also get a new UUID... and when activating the modified node containing this contentNode you will end up with a node containing multiple contentNodes with the name of the control.

The correct way of handling this would be (if I'm not totally mistaken):

1. leave the contentNode as it is
2. remove all its nodeDatas
3. add the new nodeDatas from the submitted dialog form



 Comments   
Comment by Michael Mühlebach [ 04/Aug/15 ]

We're closing this issue as outdated as it was reported for 4.4.x or earlier versions which are no longer supported. Don't hesitate to reopen or create a new ticket in case this is still relevant and you'll experience it on 4.5.x or later versions.

Generated at Mon Feb 12 03:42:51 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.