Exemple #1
0
def register_user(request):
    """
    Handles user Registration
    """

    form = RegistrationForm(request.POST)
    if request.method == 'POST':
        if form.is_valid():
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            confirm = form.cleaned_data['confirm']
            try:
                user = User.objects.get(email=email)
                form.error = "Email already registered!"
                return render(request, 'registration.html', {'form': form})
            except User.DoesNotExist:
                if password == confirm:
                    password = make_password(password)
                    if is_password_usable(password):
                        user = User(username=username,
                                    email=email,
                                    password=password)
                        user.save()
                        form = RegistrationForm()
                        form.message = "Success"
                    else:
                        form.message = "Password cannot be used"
                else:
                    form.message = "Comfirm and Password field do not match"
                return render(request, 'registration.html',
                              {'form': form,
                               'page': 'reg'})
            except Exception as e:
                #logging be implemented here
                print e

        else:
            form.error = "Invalid form feild Values"
            return render(request, 'registration.html',
                          {'form': form,
                           'page': 'reg'})
    else:
        form = RegistrationForm()
    return render(request, 'registration.html', {'form': form, 'page': 'reg'})