users: rework privacy mode into private favorites (fix #4257).

* Rename 'privacy mode' to 'private favorites'.
* Make the private favorites setting only hide favorites, not favgroups
  and not the user's uploads on their profile page.
* Make the favgroup is_public flag default to true instead of false and
  fix existing favgroups to be public if the user didn't have privacy mode
  enabled before.
* List _all_ public favgroups on the /favorite_groups index, not just
  favgroups belonging to the current user.
* Add a /users/<id>/favorite_groups endpoint.
This commit is contained in:
evazion
2020-01-17 19:59:47 -06:00
parent 2095dd3084
commit 4a7322b197
15 changed files with 44 additions and 38 deletions

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env ruby
require_relative "../../config/environment"
users = User.bit_prefs_match(:enable_private_favorites, true)
favgroups = FavoriteGroup.where(is_public: false).where.not(creator_id: users.select(:id))
favgroups.update_all(is_public: true)