otwarchive-symphonyarchive/app/policies/work_policy.rb

29 lines
660 B
Ruby
Raw Normal View History

2026-03-11 22:22:11 +00:00
class WorkPolicy < UserCreationPolicy
def show_admin_options?
super || edit_tags? || set_spam?
end
# Allow admins to edit work tags and languages.
# Include support admins due to AO3-4932.
def update_tags?
user_has_roles?(%w[superadmin policy_and_abuse support])
end
alias edit_tags? update_tags?
# Support admins need to be able to delete duplicate works.
def destroy?
super || user_has_roles?(%w[support])
end
def set_spam?
user_has_roles?(%w[superadmin policy_and_abuse])
end
def remove_pseud?
user_has_roles?(%w[superadmin support policy_and_abuse])
end
alias confirm_remove_pseud? remove_pseud?
end