Prevent crash when creating account

This commit is contained in:
Trever Fischer
2012-03-04 14:39:07 -05:00
parent e82bb7b340
commit 234b2f129a
2 changed files with 19 additions and 13 deletions

View File

@@ -31,6 +31,6 @@ class Quote(models.Model):
def create_profile(sender, instance, created, **kwargs):
if created:
MinecraftProfile.objects.create(user=instance)
MinecraftProfile.objects.create(user=instance, mc_username=instance.username)
post_save.connect(create_profile, sender=User)

View File

@@ -7,6 +7,7 @@ from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
import django.contrib.auth
from django.contrib.auth import authenticate, login
from django.core.exceptions import ObjectDoesNotExist
import forms
import models
import shortuuid
@@ -71,18 +72,23 @@ def register(request):
userForm = forms.UserForm(prefix='user')
profileForm = forms.ProfileForm(prefix='profile')
if userForm.is_valid() and profileForm.is_valid():
user = User()
user.username = userForm.cleaned_data['username']
user.email = userForm.cleaned_data['email']
user.set_password(userForm.cleaned_data['password'])
user.save()
invite.claimer = user
invite.save()
profile = user.get_profile()
profile.mc_username = profileForm.cleaned_data['mc_username']
profile.save()
del request.session['profile-invite']
return HttpResponseRedirect("/")
oldUser = None
try:
oldUser = User.objects.get(username__exact=userForm.cleaned_data['username'])
except ObjectDoesNotExist, e:
pass
if not oldUser:
user = User.objects.create_user(userForm.cleaned_data['username'], userForm.cleaned_data['email'], userForm.cleaned_data['password'])
user.save()
invite.claimer = user
invite.save()
profile = user.get_profile()
profile.mc_username = profileForm.cleaned_data['mc_username']
profile.save()
user = django.contrib.auth.authenticate(userForm.cleaned_data['username'], userForm.cleaned_data['password'])
django.contrib.auth.login(request, user)
del request.session['profile-invite']
return HttpResponseRedirect("/")
return render_to_response('profiles/register.html', {'userForm': userForm, 'profileForm': profileForm, 'invite':invite}, context_instance = RequestContext(request))
@login_required