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

View File

@@ -673,10 +673,6 @@ class User < ApplicationRecord
include CountMethods
extend SearchMethods
def hide_favorites?
!CurrentUser.is_admin? && enable_private_favorites? && CurrentUser.user.id != id
end
def initialize_attributes
self.enable_post_navigation = true
self.new_post_navigation_layout = true