123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # frozen_string_literal: true
- class UserPolicy < ApplicationPolicy
- def reset_password?
- staff? && !record.staff?
- end
- def change_email?
- staff? && !record.staff?
- end
- def disable_2fa?
- admin? && !record.staff?
- end
- def confirm?
- staff? && !record.confirmed?
- end
- def enable?
- admin?
- end
- def disable?
- admin? && !record.admin?
- end
- def promote?
- admin? && promoteable?
- end
- def demote?
- admin? && !record.admin? && demoteable?
- end
- private
- def promoteable?
- !record.staff? || !record.admin?
- end
- def demoteable?
- record.staff?
- end
- end
|