Files
danbooru/app/policies/bulk_update_request_policy.rb
evazion d136a12a65 Fix #4359: Allow builders to move small (artist) tags manually.
Allow builders to approve artist alias BURs. The BUR must contain only
artist aliases or mass updates and each artist must have less than 100
posts.
2020-05-11 00:37:37 -05:00

34 lines
813 B
Ruby

class BulkUpdateRequestPolicy < ApplicationPolicy
def create?
unbanned? && (record.forum_topic.blank? || policy(record.forum_topic).reply?)
end
def update?
unbanned? && (user.is_builder? || record.user_id == user.id)
end
def approve?
unbanned? && !record.is_approved? && (user.is_admin? || (user.is_builder? && record.is_tag_move_allowed?))
end
def destroy?
record.is_pending? && update?
end
def can_update_forum?
user.is_admin?
end
def permitted_attributes_for_create
[:script, :skip_secondary_validations, :title, :reason, :forum_topic_id]
end
def permitted_attributes_for_update
if can_update_forum?
[:script, :skip_secondary_validations, :forum_topic_id, :forum_post_id]
else
[:script, :skip_secondary_validations]
end
end
end