Fix LDAP/PAM/SAML/CAS users not being approved instantly (#10621)
This commit is contained in:
		
							parent
							
								
									f27d709351
								
							
						
					
					
						commit
						e451ba0e83
					
				| @ -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?) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user