Prevents infinite recursion when trying to save custom fields on projects.
Details
Details
- Reviewers
epriestley - Group Reviewers
Blessed Reviewers - Maniphest Tasks
- T5606: PhabricatorProjectCustomFields that use storage result in infinite recursion
- Commits
- Restricted Diffusion Commit
rP17badfacac31: Fix PhabricatorProjectCustomFields to use storage correctly. - Required Signatures
L28 Phacility Individual Contributor License Agreement
Add a custom field (that is a class, not one configured in the UI) to a project, and try to save it.
Diff Detail
Diff Detail
- Repository
- rP Phabricator
- Branch
- project-custom-field-fix
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 1662 Build 1663: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
Comment Actions
This isn't quite consistent with how other applications work, but probably makes more sense than the approach taken elsewhere.
Comment Actions
How do other applications do it? I copied this over from ManiphestCustomField because those were working for me.
Comment Actions
Differential impelments these on a subclass (DifferentialStoredCustomField), as does People (PhabricatorUserConfiguredCustomField). However, I think this approach is generally cleaner. The implementation on PhabricatorProjectStandardCustomField is redundant now and could be removed. The implementations in applications other than Maniphest could be lifted into the application's custom field base class.