mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
registration: Fix find_my_team handling of unusual users.
This commit is contained in:
@@ -203,6 +203,7 @@ class ZulipTestCase(TestCase):
|
||||
AARON=u'AARON@zulip.com',
|
||||
aaron=u'aaron@zulip.com',
|
||||
ZOE=u'ZOE@zulip.com',
|
||||
webhook_bot=u'webhook-bot@zulip.com',
|
||||
)
|
||||
|
||||
mit_user_map = dict(
|
||||
|
||||
@@ -40,6 +40,7 @@ from zerver.lib.send_email import send_email, send_future_email, FromAddress
|
||||
from zerver.lib.initial_password import initial_password
|
||||
from zerver.lib.actions import (
|
||||
do_deactivate_realm,
|
||||
do_deactivate_user,
|
||||
do_set_realm_property,
|
||||
add_new_user_history,
|
||||
)
|
||||
@@ -1782,6 +1783,35 @@ class TestFindMyTeam(ZulipTestCase):
|
||||
from django.core.mail import outbox
|
||||
self.assertEqual(len(outbox), 1)
|
||||
|
||||
def test_find_team_deactivated_user(self):
|
||||
# type: () -> None
|
||||
do_deactivate_user(self.example_user("hamlet"))
|
||||
data = {'emails': self.example_email("hamlet")}
|
||||
result = self.client_post('/find_my_team/', data)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
self.assertEqual(result.url, '/find_my_team/?emails=hamlet%40zulip.com')
|
||||
from django.core.mail import outbox
|
||||
self.assertEqual(len(outbox), 0)
|
||||
|
||||
def test_find_team_deactivated_realm(self):
|
||||
# type: () -> None
|
||||
do_deactivate_realm(get_realm("zulip"))
|
||||
data = {'emails': self.example_email("hamlet")}
|
||||
result = self.client_post('/find_my_team/', data)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
self.assertEqual(result.url, '/find_my_team/?emails=hamlet%40zulip.com')
|
||||
from django.core.mail import outbox
|
||||
self.assertEqual(len(outbox), 0)
|
||||
|
||||
def test_find_team_bot_email(self):
|
||||
# type: () -> None
|
||||
data = {'emails': self.example_email("webhook_bot")}
|
||||
result = self.client_post('/find_my_team/', data)
|
||||
self.assertEqual(result.status_code, 302)
|
||||
self.assertEqual(result.url, '/find_my_team/?emails=webhook-bot%40zulip.com')
|
||||
from django.core.mail import outbox
|
||||
self.assertEqual(len(outbox), 0)
|
||||
|
||||
def test_find_team_more_than_ten_emails(self):
|
||||
# type: () -> None
|
||||
data = {'emails': ','.join(['hamlet-{}@zulip.com'.format(i) for i in range(11)])}
|
||||
|
||||
@@ -380,7 +380,8 @@ def find_my_team(request):
|
||||
form = FindMyTeamForm(request.POST)
|
||||
if form.is_valid():
|
||||
emails = form.cleaned_data['emails']
|
||||
for user_profile in UserProfile.objects.filter(email__in=emails):
|
||||
for user_profile in UserProfile.objects.filter(
|
||||
email__in=emails, is_active=True, is_bot=False, realm__deactivated=False):
|
||||
send_email('zerver/emails/find_team', to_user_id=user_profile.id,
|
||||
context={'user_profile': user_profile})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user