Ejemplo n.º 1
0
def register(request, next):
	if next == u'':
		next = u'/'
	elif next[-9:] == u'register/':
		return HttpResponseRedirect('../' + next[:-9])
	user = request.user
	if user.is_authenticated():
		return HttpResponseRedirect('/' + user.get_profile().school.internalName + '/')
	if request.method == 'POST':
		form = RegisterUserForm(request.POST)
		if form.is_valid():
			user = form.save(commit=False)
			user.set_password(form.cleaned_data['password'])
			user.is_active = False
			user.save()
			uprofile = UserProfile()
			uprofile.user = user
			uprofile.school = School.objects.get(internalName = form.cleaned_data['email'].rsplit('@')[-1].rsplit('.')[-2])
			uprofile.birthday = form.cleaned_data['birthday']
			uprofile.gender = form.cleaned_data['gender']
			uprofile.save()
			send_activation_email(user)
			if next == u'/':
				return HttpResponseRedirect('/' + uprofile.school.internalName + '/')
			else:
				return HttpResponseRedirect(next)
		else:
			return render(request, 'userdata/login.html', dictionary={'user':  user, 'loginform': AuthenticationForm, 'isSplash':  True, 'regform': form})
	else:
		return render(request, 'userdata/login.html', dictionary={'user':  user, 'loginform': AuthenticationForm, 'isSplash':  True, 'regform': RegisterUserForm})