Fix LDAP/PAM/SAML/CAS users not being approved instantly (#10621)
This commit is contained in:
		
							parent
							
								
									2ba12c8917
								
							
						
					
					
						commit
						be7bab1fd9
					
				
					 4 changed files with 9 additions and 1 deletions
				
			
		| 
						 | 
					@ -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?)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue