mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 06:23:38 +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',
|
||||||
aaron=u'aaron@zulip.com',
|
aaron=u'aaron@zulip.com',
|
||||||
ZOE=u'ZOE@zulip.com',
|
ZOE=u'ZOE@zulip.com',
|
||||||
|
webhook_bot=u'webhook-bot@zulip.com',
|
||||||
)
|
)
|
||||||
|
|
||||||
mit_user_map = dict(
|
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.initial_password import initial_password
|
||||||
from zerver.lib.actions import (
|
from zerver.lib.actions import (
|
||||||
do_deactivate_realm,
|
do_deactivate_realm,
|
||||||
|
do_deactivate_user,
|
||||||
do_set_realm_property,
|
do_set_realm_property,
|
||||||
add_new_user_history,
|
add_new_user_history,
|
||||||
)
|
)
|
||||||
@@ -1782,6 +1783,35 @@ class TestFindMyTeam(ZulipTestCase):
|
|||||||
from django.core.mail import outbox
|
from django.core.mail import outbox
|
||||||
self.assertEqual(len(outbox), 1)
|
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):
|
def test_find_team_more_than_ten_emails(self):
|
||||||
# type: () -> None
|
# type: () -> None
|
||||||
data = {'emails': ','.join(['hamlet-{}@zulip.com'.format(i) for i in range(11)])}
|
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)
|
form = FindMyTeamForm(request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
emails = form.cleaned_data['emails']
|
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,
|
send_email('zerver/emails/find_team', to_user_id=user_profile.id,
|
||||||
context={'user_profile': user_profile})
|
context={'user_profile': user_profile})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user