Class: Cas::User

Inherits:
ApplicationRecord show all
Defined in:
app/models/cas/user.rb

Constant Summary collapse

ROLES =
%w[admin editor writer].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_for_database_authentication(warden_conditions) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/models/cas/user.rb', line 20

def self.find_for_database_authentication(warden_conditions)
  conditions = warden_conditions.dup
  domain = conditions[:domain]
  domain = ENV["DOMAIN"] if Rails.env.development? && ENV["DOMAIN"].present?
  domain = ::Cas::Site.first.domains.first if domain.to_s =~ /localhost/
  sql = where(["lower(login) = :value OR lower(email) = :value", {
    value: conditions[:email].downcase
  }])
  sql = sql.joins(:sites)
  sql = sql.where("cas_sites.domains::text[] && '{#{domain}}'::text[]")
  sql.first
end

Instance Method Details

#admin?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/cas/user.rb', line 33

def admin?
  roles.include?("admin")
end

#editor?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/cas/user.rb', line 37

def editor?
  roles.include?("editor")
end