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})
def register(request): title = "Register" form = RegisterUserForm(request.POST) send_email='' if request.method == 'POST': if form.is_valid(): new_user = User.objects.create_user(**form.cleaned_data) new_user.save() new_user.backend='django.contrib.auth.backends.ModelBackend' auth.login(request,new_user) messages.success(request, 'Account with username '+request.POST.get('username')+' has been created') return HttpResponseRedirect('/') else: form = UserForm() messages.error(request, 'User already created please choose different username and email') return HttpResponseRedirect('/register' ,messages) context = { "template_title": title, "form": form } return render(request ,"register.html",context)