Example #1
0
def signup_view(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password1']
        password_verify = request.POST['password2']
        try:
            user = User.objects.get(username=username)
            return JsonResponse(
                {
                    "status": "failure",
                    "message": "username already taken"
                },
                status=409)
        except User.DoesNotExist:
            if password == password_verify:
                user = User.objects.create_user(username=username,
                                                password=password)
                account = Account(user=user, certificate="None")
                if 'email' in request.POST:
                    account.email = request.POST['email']
                account.save()
                login(request, user)
                return JsonResponse(
                    {
                        "status": "success",
                        "message": "account created"
                    },
                    status=201)
            else:
                return JsonResponse(
                    {
                        "status": "failure",
                        "message": "password does not match"
                    },
                    status=406)
    else:
        return render(request, 'users/signupd.html')