Problem/Motivation
There are a bunch of fields that are required for the system to function. Let's call them "critical fields".
Steps to reproduce
One example:
- Delete the "Preferred name" field from the Person Contact Type
- Submit a Person add/edit form
Expected: Form submits successfully
Actual: White screen error
Proposed resolution
Allow deletion of critical fields via the UI
Remaining tasks
- Identify critical fields
- Implement
User interface changes
API changes
Data model changes
Issue fork crm-3541478
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
bluegeek9 commentedI think we should handle the removal of these fields elegantly. I think site builders should be granted as much freedom as possible.
The project really only needs the base field name to work. Full Name, Aliases, and Preferred name are only used for the User's Display name, and the entity name field.
If we set `persist_with_no_fields: true` site builders can delete the field and still re-add it later.
Comment #3
jdleonardI agree.
I'm new to `persist_with_no_fields`. Would it cause artifacts to remain after uninstalling CRM?
Comment #4
bluegeek9 commentedIt means the field is available to add to a contact even if it is deleted from the person bundle.
Comment #5
bluegeek9 commentedComment #7
bluegeek9 commentedComment #10
bluegeek9 commented