diff --git a/app/controllers/comment_votes_controller.rb b/app/controllers/comment_votes_controller.rb index 47f82fc90..22c490224 100644 --- a/app/controllers/comment_votes_controller.rb +++ b/app/controllers/comment_votes_controller.rb @@ -1,11 +1,11 @@ class CommentVotesController < ApplicationController - before_action :member_only + before_action :member_only, except: [:index] skip_before_action :api_check respond_to :js, :json, :xml, :html rescue_with CommentVote::Error, ActiveRecord::RecordInvalid, status: 422 def index - @comment_votes = CommentVote.paginated_search(params, count_pages: true) + @comment_votes = CommentVote.visible(CurrentUser.user).paginated_search(params, count_pages: true) @comment_votes = @comment_votes.includes(:user, comment: [:creator, post: [:uploader]]) if request.format.html? respond_with(@comment_votes) end diff --git a/app/models/comment_vote.rb b/app/models/comment_vote.rb index ea7ffeeff..b3f18b337 100644 --- a/app/models/comment_vote.rb +++ b/app/models/comment_vote.rb @@ -11,8 +11,13 @@ class CommentVote < ApplicationRecord validates_inclusion_of :score, :in => [-1, 1], :message => "must be 1 or -1" def self.visible(user = CurrentUser.user) - return all if user.is_admin? - where(user: user) + if user.is_admin? + all + elsif user.is_member? + where(user: user) + else + none + end end def self.comment_matches(params) @@ -22,7 +27,6 @@ class CommentVote < ApplicationRecord def self.search(params) q = super - q = q.visible q = q.search_attributes(params, :comment_id, :user, :score) q = q.comment_matches(params[:comment]) q.apply_default_order(params)