Bugfix/14757 deleting global sets #14759
Merged
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.
Description
This issue only occurs if you have the CKEditor plugin installed and the global set needs to have a field layout.
The CKEditor plugin hooks up to various events. In this case, the
EVENT_BEFORE_DELETE
event gets rightfully triggered because the Element (GlobalSet
) is being deleted. Globals are special, though, and when the Element is deleted, its field layout is also deleted. The field layout was getting deleted before the element, so when that event was triggered, the field layout didn’t exist anymore, causing anInvalid field layout ID:
exception. Moving the deletion of the field layout until after the element gets deleted (but within the same transaction) fixes the problem.Related issues
#14757