示例#1
0
文件: views.py 项目: kknd113/test1234
def create_user(request):
    """
    Creates a user and authenticates them, if credentials are valid.
    """

    if request.method == "GET":
            return render(request, 'index.html')
    elif request.method == "POST":
        data = json.loads(request.body)
        username, email, password = data["username"], data["email"], data["password"]
        response = BeatMyGoalUser.create(username, email, password)

        if response['errors']:
            return HttpResponse(json.dumps(response), 
                                content_type = "application/json")            
        else:
            # user = response['user']
            user =  authenticate(username=username, password=password)
            login(request, user)
            redirect = "/users/%s/" % (user.id)
            return HttpResponse(json.dumps({"redirect" : redirect,
                "errors" : response["errors"]
                }), content_type = "application/json")

    else:
        return HttpResponse("Invalid request", status=500)
示例#2
0
文件: views.py 项目: kknd113/test1234
def user_login_fb(request):
    """
    Handles the login of a user from Facebook.
    If there is no BMG account for the user, one is created.
    """
    #response = HttpResponse()
    response = HttpResponseRedirect("/dashboard/")
    result = authomatic.login(DjangoAdapter(request, response), "fb")
     

    if result:
        if result.error:
            #TODO - right now this is redirecting anyway
            pass
        elif result.user:
            # Get the info from the user
            if not (result.user.name and result.user.id):
                result.user.update()

            username, email= result.user.name, result.user.email

            if (BeatMyGoalUser.objects.filter(username=username).exists()):
                user = BeatMyGoalUser.objects.get(username=username)
                user.backend='django.contrib.auth.backends.ModelBackend'
                login(request, user)
            else:
                password = BeatMyGoalUser.objects.make_random_password(8)
                user = BeatMyGoalUser.create(username, email, password)['user']
                user =  authenticate(username=username, password=password)
                login(request, user)
                response['Location'] = '/users/profile'

    return response