コード例 #1
0
ファイル: views.py プロジェクト: mmmccarthy/huxley
def login_user(request):
    '''Log in a user or render the login template.'''
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user, error = HuxleyUser.authenticate(username, password)
        if error:
            return render_json({'success': False, 'error': error})
        redirect = HuxleyUser.login(request, user)
        return render_json({'success': True, 'redirect': redirect})

    return render_template(request, 'login.html')
コード例 #2
0
ファイル: views.py プロジェクト: jawoonkim/huxley
def login_user(request):
    '''Log in a user or render the login template.'''
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        try:
            user = HuxleyUser.authenticate(username, password)
        except AuthenticationError as e:
            return render_json({'success': False, 'error': str(e)})

        redirect = HuxleyUser.login(request, user)
        return render_json({'success': True, 'redirect': redirect})

    return render_template(request, 'login.html')
コード例 #3
0
    def new_user(**kwargs):
        u = HuxleyUser(username=kwargs.get('username', 'testuser'),
                       email=kwargs.get('email', '*****@*****.**'))
        u.set_password(kwargs.get('password', 'test'))

        u.first_name = kwargs.get('first_name', 'Test')
        u.last_name = kwargs.get('last_name', 'User')

        skip = {'username', 'email', 'password', 'first_name', 'last_name'}
        for attr, value in kwargs.items():
            if attr not in skip:
                setattr(u, attr, value)

        u.save()
        return u
コード例 #4
0
ファイル: user.py プロジェクト: jawoonkim/huxley
    def post(self, request, *args, **kwargs):
        '''Log in a new user.'''
        if request.user.is_authenticated():
            raise PermissionDenied('Another user is currently logged in.')

        try:
            data = request.DATA
            user = HuxleyUser.authenticate(data['username'], data['password'])
        except AuthenticationError as e:
            raise AuthenticationFailed(str(e))

        login(request, user)
        return Response(UserSerializer(user).data,
                        status=status.HTTP_201_CREATED)
コード例 #5
0
    def post(self, request, *args, **kwargs):
        '''Log in a new user.'''
        if request.user.is_authenticated():
            raise PermissionDenied('Another user is currently logged in.')

        try:
            data = request.DATA
            user = HuxleyUser.authenticate(data['username'], data['password'])
        except AuthenticationError as e:
            raise AuthenticationFailed(str(e))

        login(request, user)
        return Response(UserSerializer(user).data,
                        status=status.HTTP_201_CREATED)
コード例 #6
0
ファイル: views.py プロジェクト: jonas-majewski/huxley
def reset_password(request):
    """ Reset a user's password. """
    if request.method == 'POST':
        username = request.POST.get('username')
        new_password = HuxleyUser.reset_password(username)
        if new_password:
            if not settings.DEBUG:
                user.email_user("Huxley Password Reset",
                                "Your password has been reset to %s.\nThank you for using Huxley!" % (new_password),
                                from_email="*****@*****.**")
            return render_template(request, 'password-reset-success.html')
        else:
            return render_template(request, 'password-reset.html', {'error': True})

    return render_template(request, 'password-reset.html')
コード例 #7
0
ファイル: test.py プロジェクト: mmmccarthy/huxley
    def new_user(**kwargs):
        u = HuxleyUser(username=kwargs.get('username', 'testuser'),
                       email=kwargs.get('email', '*****@*****.**'))
        u.set_password(kwargs.get('password', 'test'))

        u.first_name = kwargs.get('first_name', 'Test')
        u.last_name = kwargs.get('last_name', 'User')

        skip = {'username', 'email', 'password', 'first_name', 'last_name'}
        for attr, value in kwargs.items():
            if attr not in skip:
                setattr(u, attr, value)

        u.save()
        return u
コード例 #8
0
ファイル: views.py プロジェクト: jawoonkim/huxley
def reset_password(request):
    '''Reset a user's password.'''
    if request.method == 'POST':
        username = request.POST.get('username')
        new_password = HuxleyUser.reset_password(username)
        if new_password:
            if True:
                user.email_user(
                    "Huxley Password Reset",
                    "Your password has been reset to %s.\nThank you for using Huxley!"
                    % (new_password),
                    from_email="*****@*****.**")
            return render_template(request, 'password-reset-success.html')
        else:
            return render_template(request, 'password-reset.html',
                                   {'error': True})

    return render_template(request, 'password-reset.html')