1
0

account_policy.rb 871 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # frozen_string_literal: true
  2. class AccountPolicy < ApplicationPolicy
  3. def index?
  4. staff?
  5. end
  6. def show?
  7. staff?
  8. end
  9. def warn?
  10. staff? && !record.user&.staff?
  11. end
  12. def suspend?
  13. staff? && !record.user&.staff? && !record.instance_actor?
  14. end
  15. def destroy?
  16. record.suspended_temporarily? && admin?
  17. end
  18. def unsuspend?
  19. staff? && record.suspension_origin_local?
  20. end
  21. def sensitive?
  22. staff? && !record.user&.staff?
  23. end
  24. def unsensitive?
  25. staff?
  26. end
  27. def silence?
  28. staff? && !record.user&.staff?
  29. end
  30. def unsilence?
  31. staff?
  32. end
  33. def redownload?
  34. admin?
  35. end
  36. def remove_avatar?
  37. staff?
  38. end
  39. def remove_header?
  40. staff?
  41. end
  42. def subscribe?
  43. admin?
  44. end
  45. def unsubscribe?
  46. admin?
  47. end
  48. def memorialize?
  49. admin? && !record.user&.admin? && !record.instance_actor?
  50. end
  51. end