summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-04-25 02:49:25 +0200
committerGitHub <noreply@github.com>2019-04-25 02:49:25 +0200
commite451ba0e837eb5b3d4f7fe75ca3e16680afaf129 (patch)
tree212519b375fa3f963fbaf318e169faf8862ae554 /app/models
parentf27d7093513c0265010d019adc01b3f7ea02ef47 (diff)
Fix LDAP/PAM/SAML/CAS users not being approved instantly (#10621)
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/ldap_authenticable.rb1
-rw-r--r--app/models/concerns/omniauthable.rb1
-rw-r--r--app/models/concerns/pam_authenticable.rb1
-rw-r--r--app/models/user.rb7
4 files changed, 9 insertions, 1 deletions
diff --git a/app/models/concerns/ldap_authenticable.rb b/app/models/concerns/ldap_authenticable.rb
index e1b5e3832b4..84ff84c4b05 100644
--- a/app/models/concerns/ldap_authenticable.rb
+++ b/app/models/concerns/ldap_authenticable.rb
@@ -6,6 +6,7 @@ module LdapAuthenticable
def ldap_setup(_attributes)
self.confirmed_at = Time.now.utc
self.admin = false
+ self.external = true
save!
end
diff --git a/app/models/concerns/omniauthable.rb b/app/models/concerns/omniauthable.rb
index 1b28b8162ef..28303308395 100644
--- a/app/models/concerns/omniauthable.rb
+++ b/app/models/concerns/omniauthable.rb
@@ -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,
diff --git a/app/models/concerns/pam_authenticable.rb b/app/models/concerns/pam_authenticable.rb
index 2f651c1a359..6169d4dfaa1 100644
--- a/app/models/concerns/pam_authenticable.rb
+++ b/app/models/concerns/pam_authenticable.rb
@@ -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
diff --git a/app/models/user.rb b/app/models/user.rb
index 135baae122b..9a067100624 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -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?)