🐞 Issue Template · “Field Overwritten on Save”
Short title:
Date reported:
Reporter:
Initial priority:
1. Problem Statement
Item |
Details |
Field(s) affected |
|
Content type(s) |
|
Observations |
|
Impact |
|
2. Environment Snapshot
Layer |
Value |
Drupal core |
|
PHP |
|
Database |
|
Environment |
|
Git commit |
|
Config export hash |
|
Enabled Modules (custom + contrib)
drush pm:list --type=module --status=enabled
3. Roles & Permissions
Role tested |
uid |
Key permissions |
Result |
Content Manager |
|
edit own content , create menu links , … |
|
Site Administrator |
1 |
full |
|
4. Reproduction Matrix
Vector |
✅ Works |
❌ Fails |
Notes |
Node form (classic) |
|
|
|
Quick Edit inline |
|
|
|
Layout Builder block form |
|
|
|
REST / JSON:API PATCH |
|
|
|
Drush node:save impersonated |
|
|
|
Exact steps for the failing vector(s)
- Log in as Content Manager (UID 234).
- Edit About Us page (
/node/15/edit
).
- In the Menu settings tab, set Parent link =
Main > Company
.
- Click Save.
- Observed: Parent resets to Main (root).
- Expected: Should stay
Main > Company
.
5. Logs & Instrumentation
Timestamp |
Level |
Message |
2025-06-23 14:02:11 |
notice |
menu_parent_debugger – UID 234 saving node 15: parent main.company → main |
… |
… |
… |
- Browser console:
- Network tab:
- watchdog / Syslog:
6. Possible Influencers Checklist
7. Attachments
8. Acceptance Criteria
- Saving a node as any role does not change the field unless the user explicitly edits it.
- Regression test exists (Kernel/Functional).
- No new PHP warnings, JS errors, or watchdog entries after fix.
9. Initial Triage Notes (for devs/reviewers)
- Suspect missing permission “Administer menu items”. Granting it on staging prevents overwrite.
- menu_parent_debugger log confirms value is correct before entity save, wrong after → likely
MenuLinkContent::postSave()
override.
10. Changelog & Links
Date |
Author |
Note |
2025-06-23 |
Daniel |
Template created |