Fix LDAP/PAM/SAML/CAS users not being approved instantly (#10621)
parent
f27d709351
commit
e451ba0e83
|
@ -6,6 +6,7 @@ module LdapAuthenticable
|
||||||
def ldap_setup(_attributes)
|
def ldap_setup(_attributes)
|
||||||
self.confirmed_at = Time.now.utc
|
self.confirmed_at = Time.now.utc
|
||||||
self.admin = false
|
self.admin = false
|
||||||
|
self.external = true
|
||||||
|
|
||||||
save!
|
save!
|
||||||
end
|
end
|
||||||
|
|
|
@ -66,6 +66,7 @@ module Omniauthable
|
||||||
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
|
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
|
||||||
password: Devise.friendly_token[0, 20],
|
password: Devise.friendly_token[0, 20],
|
||||||
agreement: true,
|
agreement: true,
|
||||||
|
external: true,
|
||||||
account_attributes: {
|
account_attributes: {
|
||||||
username: ensure_unique_username(auth.uid),
|
username: ensure_unique_username(auth.uid),
|
||||||
display_name: display_name,
|
display_name: display_name,
|
||||||
|
|
|
@ -34,6 +34,7 @@ module PamAuthenticable
|
||||||
self.confirmed_at = Time.now.utc
|
self.confirmed_at = Time.now.utc
|
||||||
self.admin = false
|
self.admin = false
|
||||||
self.account = account
|
self.account = account
|
||||||
|
self.external = true
|
||||||
|
|
||||||
account.destroy! unless save
|
account.destroy! unless save
|
||||||
end
|
end
|
||||||
|
|
|
@ -107,6 +107,7 @@ class User < ApplicationRecord
|
||||||
:expand_spoilers, :default_language, :aggregate_reblogs, :show_application, to: :settings, prefix: :setting, allow_nil: false
|
:expand_spoilers, :default_language, :aggregate_reblogs, :show_application, to: :settings, prefix: :setting, allow_nil: false
|
||||||
|
|
||||||
attr_reader :invite_code
|
attr_reader :invite_code
|
||||||
|
attr_writer :external
|
||||||
|
|
||||||
def confirmed?
|
def confirmed?
|
||||||
confirmed_at.present?
|
confirmed_at.present?
|
||||||
|
@ -273,13 +274,17 @@ class User < ApplicationRecord
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_approved
|
def set_approved
|
||||||
self.approved = open_registrations? || invited?
|
self.approved = open_registrations? || invited? || external?
|
||||||
end
|
end
|
||||||
|
|
||||||
def open_registrations?
|
def open_registrations?
|
||||||
Setting.registrations_mode == 'open'
|
Setting.registrations_mode == 'open'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def external?
|
||||||
|
@external
|
||||||
|
end
|
||||||
|
|
||||||
def sanitize_languages
|
def sanitize_languages
|
||||||
return if chosen_languages.nil?
|
return if chosen_languages.nil?
|
||||||
chosen_languages.reject!(&:blank?)
|
chosen_languages.reject!(&:blank?)
|
||||||
|
|
Reference in New Issue