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