Create MitUser objects in organic signups.

This is the way we disambiguate MIT users from normal PreregistrationUsers.

(imported from commit adfe781036f653ef2c15850100c7ea26332d9ef4)
This commit is contained in:
Luke Faraone
2013-08-15 12:44:08 -04:00
parent 12c7f276b7
commit db2fd45deb

View File

@@ -248,7 +248,7 @@ def accounts_register(request):
# MitUsers can't be referred and don't have a referred_by field.
if not mit_beta_user and prereg_user.referred_by:
domain = prereg_user.referred_by.realm.domain
elif prereg_user.realm:
elif not mit_beta_user and prereg_user.realm:
# You have a realm set, even though nobody referred you. This
# happens if you sign up through a special URL for an open
# realm.
@@ -512,6 +512,12 @@ def create_preregistration_user(email, request):
domain = request.session.get("domain")
if not completely_open(domain):
domain = None
# MIT users who are not explicitly signing up for an open realm
# require special handling (They may already have an (inactive)
# account, for example)
if email_to_domain(email) == "mit.edu" and not domain:
prereg_user, created = MitUser.objects.get_or_create(email=email)
else:
prereg_user = PreregistrationUser(email=email, realm=get_realm(domain))
prereg_user.save()