favorites: convert user.hide_favorites? to pundit.

This commit is contained in:
evazion
2020-03-21 22:12:23 -05:00
parent 5bc82bf07b
commit 2445e8b82f
7 changed files with 25 additions and 18 deletions

View File

@@ -956,7 +956,9 @@ class Post < ApplicationRecord
# users who favorited this post, ordered by users who favorited it first
def favorited_users
favorited_user_ids = fav_string.scan(/\d+/).map(&:to_i)
visible_users = User.find(favorited_user_ids).reject(&:hide_favorites?)
visible_users = User.find(favorited_user_ids).select do |user|
Pundit.policy!([CurrentUser.user, nil], user).can_see_favorites?
end
ordered_users = visible_users.index_by(&:id).slice(*favorited_user_ids).values
ordered_users
end