Fix “invited by” not showing up for invited accounts in admin interface (#10791)

This commit is contained in:
ThibG 2019-05-19 21:40:36 +02:00 committed by Eugen Rochko
parent 94439a1da7
commit 9222c26e19
3 changed files with 7 additions and 3 deletions

View File

@ -114,6 +114,10 @@ class User < ApplicationRecord
end end
def invited? def invited?
invite_id.present?
end
def valid_invitation?
invite_id.present? && invite.valid_for_use? invite_id.present? && invite.valid_for_use?
end end
@ -274,7 +278,7 @@ class User < ApplicationRecord
private private
def set_approved def set_approved
self.approved = open_registrations? || invited? || external? self.approved = open_registrations? || valid_invitation? || external?
end end
def open_registrations? def open_registrations?

View File

@ -2,7 +2,7 @@
class BlacklistedEmailValidator < ActiveModel::Validator class BlacklistedEmailValidator < ActiveModel::Validator
def validate(user) def validate(user)
return if user.invited? return if user.valid_invitation?
@email = user.email @email = user.email

View File

@ -8,7 +8,7 @@ RSpec.describe BlacklistedEmailValidator, type: :validator do
let(:errors) { double(add: nil) } let(:errors) { double(add: nil) }
before do 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 } allow_any_instance_of(described_class).to receive(:blocked_email?) { blocked_email }
described_class.new.validate(user) described_class.new.validate(user)
end end