Sha256: 0ecdaac6f9daccfec0c25acc6fdb3f10965916ba5576367d706db2f23ccfe1e9

Contents?: true

Size: 549 Bytes

Versions: 55

Compression:

Stored size: 549 Bytes

Contents

# frozen_string_literal: true

module Renalware
  class UserPolicy < BasePolicy
    def update?
      super && !user_update_self?
    end

    def assign_role?(role)
      return false if role.hidden

      can_assign_role = case role.name
                        when "devops", "super_admin" then false
                        when "admin" then user_is_super_admin?
                        else true
                        end
      can_assign_role && update?
    end

    private

    def user_update_self?
      record == user
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/policies/renalware/user_policy.rb
renalware-core-2.1.0 app/policies/renalware/user_policy.rb
renalware-core-2.0.167 app/policies/renalware/user_policy.rb
renalware-core-2.0.166 app/policies/renalware/user_policy.rb
renalware-core-2.0.165 app/policies/renalware/user_policy.rb
renalware-core-2.0.164 app/policies/renalware/user_policy.rb
renalware-core-2.0.163 app/policies/renalware/user_policy.rb
renalware-core-2.0.162 app/policies/renalware/user_policy.rb
renalware-core-2.0.161 app/policies/renalware/user_policy.rb
renalware-core-2.0.160 app/policies/renalware/user_policy.rb
renalware-core-2.0.159 app/policies/renalware/user_policy.rb
renalware-core-2.0.158 app/policies/renalware/user_policy.rb
renalware-core-2.0.157 app/policies/renalware/user_policy.rb
renalware-core-2.0.156 app/policies/renalware/user_policy.rb
renalware-core-2.0.155 app/policies/renalware/user_policy.rb
renalware-core-2.0.153 app/policies/renalware/user_policy.rb
renalware-core-2.0.152 app/policies/renalware/user_policy.rb
renalware-core-2.0.151 app/policies/renalware/user_policy.rb
renalware-core-2.0.149 app/policies/renalware/user_policy.rb
renalware-core-2.0.148 app/policies/renalware/user_policy.rb