[#53704] BUG Visible=false project attribute values are deleted when a non-admin user edits the attributes (2/2) #15327
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.
Part 2 of the https://community.openproject.org/wp/53704
Fixing the pending spec: https://github.com/opf/openproject/pull/15296/files#diff-fe00deb197cdde8955e039ce8b85ba36c57733622ad8753f4553379d57cc0e86R465-R471
Description
The callback
Projects::ActsAsCustomizablePatches#disable_custom_fields_with_empty_values
should be an after_save callback, because thecustom_values
association has autosave enabled by default and it has an after_create callback in the model (CustomValue#activate_custom_field_in_customized_project).The after_create callback in the children objects are ran after the after_create callbacks on the parent. In order to make sure we execute this callback after the children's callbacks, the after_save hook must be used.