From 44b332693e8b0a6d7d761764d51a3d0c332b90b6 Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Mon, 29 Oct 2012 15:56:02 -0400 Subject: [PATCH] Fix the fact that new auto-created MIT users are active. (imported from commit 577f1a0165a56fc3cc1ed6f0a54f6c5f31345cc7) --- zephyr/models.py | 11 +++++++---- zephyr/views.py | 6 ++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/zephyr/models.py b/zephyr/models.py index 64d0bf8a3a..85d73906b4 100644 --- a/zephyr/models.py +++ b/zephyr/models.py @@ -196,20 +196,23 @@ def create_user_base(email, password, active=True): username = base64.b32encode(email_hash)[:30] return create_user_hack(username, password, email, active) -def create_user(email, password, realm, full_name, short_name): - user = create_user_base(email=email, password=password) +def create_user(email, password, realm, full_name, short_name, + active=True): + user = create_user_base(email=email, password=password, + active=active) user.save() return UserProfile.create(user, realm, full_name, short_name) # TODO: This has a race where a user could be created twice. Need to # add transactions. -def create_user_if_needed(realm, email, full_name, short_name): +def create_user_if_needed(realm, email, full_name, short_name, + active=True): try: return UserProfile.objects.get(user__email=email) except UserProfile.DoesNotExist: # forge a user for this person return create_user(email, initial_password(email), realm, - full_name, short_name) + full_name, short_name, active=active) def bulk_create_users(realms, users_raw): """ diff --git a/zephyr/views.py b/zephyr/views.py index f8dbb2fc9b..a0986fadee 100644 --- a/zephyr/views.py +++ b/zephyr/views.py @@ -556,7 +556,8 @@ def create_mirrored_message_users(request, user_profile): # Create a user for the sender, if needed if 'email' in sender_data: sender = create_user_if_needed(user_profile.realm, sender_data['email'], - sender_data['full_name'], sender_data['short_name']) + sender_data['full_name'], sender_data['short_name'], + active=False) else: sender = user_profile @@ -564,7 +565,8 @@ def create_mirrored_message_users(request, user_profile): for recipient in huddle_recipients: create_user_if_needed(user_profile.realm, recipient, recipient.split('@')[0], - recipient.split('@')[0]) + recipient.split('@')[0], + active=False) return (True, sender)