Exemplo n.º 1
0
def signup(request):
    """
    Register the user and log him in
    """
    if request.user.is_authenticated():
        return redirect(settings.LOGIN_REDIRECT_URL)
    if request.method == 'GET':
        return render_login_page(request, parameters={'signup': 'active'})
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            email = form.cleaned_data["email"]
            user = User(username=username,
                        first_name=form.cleaned_data["first_name"],
                        last_name=form.cleaned_data["last_name"],
                        email=email,
                        is_active=False
                        )
            user.set_password(password)
            user.save()
            registration = Registration(user=user)
            try:
                registration.register(request)
                registration.save()
            except:
                print sys.exc_info()[0]
                user.delete()
                error = True
                error_message = ["Unable to Register user"]
                errors = {
                    'error': error,
                    'error_list': True,
                    'error_message': error_message, 'signup': 'active'
                }
                return render_login_page(request, register_form=form,
                                         parameters=errors)
            info = {
                'info': True,
                'info_message': 'Successfully registered. \
                Check %s and activate your account.' % (email)}
            return render_login_page(request, parameters=info)
        else:
            error = True
            error_message = []
            for key, value in form.errors.iteritems():
                error_message.append((', '.join(value)))
            errors = {
                'error': error,
                'error_list': True,
                'error_message': error_message, 'signup': 'active'}
            return render_login_page(request, register_form=form,
                                     parameters=errors)
    else:
        raise Http404
Exemplo n.º 2
0
def signup(request):
    """
    Register the user and log him in
    """
    if request.user.is_authenticated():
        return redirect(settings.LOGIN_REDIRECT_URL)
    if request.method == 'GET':
        return render_login_page(request, parameters={'signup': 'active'})
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            email = form.cleaned_data["email"]
            user = User(username=username,
                        first_name=form.cleaned_data["first_name"],
                        last_name=form.cleaned_data["last_name"],
                        email=email,
                        is_active=False)
            user.set_password(password)
            user.save()
            registration = Registration(user=user)
            try:
                registration.register(request)
                registration.save()
            except:
                print sys.exc_info()[0]
                user.delete()
                error = True
                error_message = ["Unable to Register user"]
                errors = {
                    'error': error,
                    'error_list': True,
                    'error_message': error_message,
                    'signup': 'active'
                }
                return render_login_page(request,
                                         register_form=form,
                                         parameters=errors)
            info = {
                'info':
                True,
                'info_message':
                'Successfully registered. \
                Check %s and activate your account.' % (email)
            }
            return render_login_page(request, parameters=info)
        else:
            error = True
            error_message = []
            for key, value in form.errors.iteritems():
                error_message.append((', '.join(value)))
            errors = {
                'error': error,
                'error_list': True,
                'error_message': error_message,
                'signup': 'active'
            }
            return render_login_page(request,
                                     register_form=form,
                                     parameters=errors)
    else:
        raise Http404