summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-05-19 21:40:36 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-05-19 21:40:36 +0200
commitae1838655876363065dd062a21064d385a90eb33 (patch)
tree27fb8d7cecb5b5ad79db1115a91968e5cfd07f7c
parent37a04c329c2b859f6a3aeb11795aec1da2943160 (diff)
Fix “invited by” not showing up for invited accounts in admin interface (#10791)
-rw-r--r--app/models/user.rb6
-rw-r--r--app/validators/blacklisted_email_validator.rb2
-rw-r--r--spec/validators/blacklisted_email_validator_spec.rb2
3 files changed, 7 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 6941b040de7..3d1eb5f206d 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -114,6 +114,10 @@ class User < ApplicationRecord
end
def invited?
+ invite_id.present?
+ end
+
+ def valid_invitation?
invite_id.present? && invite.valid_for_use?
end
@@ -274,7 +278,7 @@ class User < ApplicationRecord
private
def set_approved
- self.approved = open_registrations? || invited? || external?
+ self.approved = open_registrations? || valid_invitation? || external?
end
def open_registrations?
diff --git a/app/validators/blacklisted_email_validator.rb b/app/validators/blacklisted_email_validator.rb
index a288c20ef4b..0d01a1c47fb 100644
--- a/app/validators/blacklisted_email_validator.rb
+++ b/app/validators/blacklisted_email_validator.rb
@@ -2,7 +2,7 @@
class BlacklistedEmailValidator < ActiveModel::Validator
def validate(user)
- return if user.invited?
+ return if user.valid_invitation?
@email = user.email
diff --git a/spec/validators/blacklisted_email_validator_spec.rb b/spec/validators/blacklisted_email_validator_spec.rb
index 84b0107dd70..ccc5dc0f485 100644
--- a/spec/validators/blacklisted_email_validator_spec.rb
+++ b/spec/validators/blacklisted_email_validator_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe BlacklistedEmailValidator, type: :validator do
let(:errors) { double(add: nil) }
before do
- allow(user).to receive(:invited?) { false }
+ allow(user).to receive(:valid_invitation?) { false }
allow_any_instance_of(described_class).to receive(:blocked_email?) { blocked_email }
described_class.new.validate(user)
end