* Prepare to drop profile columns from user
* Update code and factory
* Also remove unused constant
* Move validation from user to profile
* Remove Profiles::ExtractData service object
* Add more comments
* Simplify sameAs attribute generation
* Obey me machine, I am your master
* Fix condition order in guard clause
* Temporarily disable callback
* Fix specs
* Reduce usage of Profile#refresh_attributes!
* Remove leftover comment
* Handle social media links differently
* More spec fixes
* Fix specs for admin profile fields controller
* Fix specs after merge
* Fix remaining specs
* Update user show request spec
* Add comment for follow_hiring_tag
* Only save profile when user is valid
* Fix seeds.rb for profile fields
* Switch from before_save to after_save
* Undo unrelated formattin change
* Update spec/fixtures/files/profile_fields.csv
Co-authored-by: Molly Struve <mollylbs@gmail.com>
* Remove data update script and spec
* Fix spec
* Fix typo in comment
* Fix typo in comment
* Move article resave logic to service object
* Move profile field creation to before(:suite)
* Refactor error handling in Profiles::Update
* Fix Profiles::Update specs and refactor
* Temporarily disable spec
* Add ProfileValidator
* Clean up
* Move DB ready check into app/lib
* Refresh attributes after importing from CSV
* Fix specs
* Remove unused file
* A girl has no name. A profile neither.
* Fix specs
* Add responds_to? check
* Spec fix
* Add name to user fields in profile settings page
Co-authored-by: Molly Struve <mollylbs@gmail.com>
* feat: cater for when there are no profile fields in a group
* feat: add a modal to create a new group
* feat: add a controller and route for the group
* refactor: add group modal
* feat: edit a group
* chore: remove an instance var
* chore: toggle the section using a toggle button
* feat: add the edit button
* chore: update the messaging
* chore: update the class name
* feat: delete the group
* chore: add some css
* chore: use group_name
* chore: rename the file and add the group select to the file
* feat: render the correct partial and add the profile_field_group_id
* feat: add a profile field
* feat: amend the styles on the card header
* feat: add a cursor pointer
* feat: get the form to redirect after an update
* chore: remove style
* feat: order by created at so that each time we save the order doesn't change
* fix: change the form
* chore: format the options
* feat: show ungrouped fields at the bottom
* feat: add the profile fields length
* chore: remove unused action
* test: add some specs for profile group workflow
* fix: oops
* refactor: grouped profile fields
* refactor: amend the styles
* chore: rename methods
* chore: update headings
* chore: remove changes from my linter
* refactor: suggestions by Michael - upgrade ternary
* refactor: order by name and label