Files
danbooru/app/policies/post_vote_policy.rb
evazion 055e5939b4 votes: allow Members to vote.
* Allow Member-level users to vote.
* Don't allow Banned or Restricted users to create favorites any more.

Banned and Restricted users aren't allowed to upvote or favorite any
more to prevent sockpuppet accounts from upvoting even after they're
banned.
2021-11-16 17:18:47 -06:00

24 lines
440 B
Ruby

class PostVotePolicy < ApplicationPolicy
def create?
unbanned? && user.is_member?
end
def destroy?
unbanned? && record.user == user
end
def show?
user.is_admin? || record.user == user || (record.is_positive? && !record.user.enable_private_favorites?)
end
def can_see_voter?
show?
end
def api_attributes
attributes = super
attributes -= [:user_id] unless can_see_voter?
attributes
end
end