Class: Cas::User
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Cas::User
- 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
33 34 35 |
# File 'app/models/cas/user.rb', line 33 def admin? roles.include?("admin") end |
#editor? ⇒ Boolean
37 38 39 |
# File 'app/models/cas/user.rb', line 37 def editor? roles.include?("editor") end |