예제 #1
0
 def test_AuthUser_get_by_username(self):
     """ Test the `get_by_username` method of the ``AuthUser`` model class.
     """
     user = self.dummy_user_fixture()
     from anuket.models.auth import AuthUser
     self.assertTrue(AuthUser.get_by_username(u'username'))
     self.assertEqual(user, AuthUser.get_by_username(u'username'))
예제 #2
0
 def test_AuthUser_get_by_username(self):
     """ Test the `get_by_username` method of the ``AuthUser`` model class.
     """
     user = self.dummy_user_fixture()
     from anuket.models.auth import AuthUser
     self.assertTrue(AuthUser.get_by_username(u'username'))
     self.assertEqual(user, AuthUser.get_by_username(u'username'))
예제 #3
0
파일: root.py 프로젝트: kailIII/anuket
def login_view(request):
    """ Render the login form.

    Display an empty login form or check the submited credentials with the ones
    from the database. Add a success flash message, an userid in the cookies
    and redirect to the home page if the credentials are goods. Add an error
    flash message and display again the login form if the credentials are
    wrong.

    :param request: a ``pyramid.request`` object
    """
    _ = request.translate
    form = Form(request, schema=LoginForm)
    if 'form_submitted' in request.params and form.validate():
        username = request.params['username']
        password = request.params['password']
        if AuthUser.check_password(username, password):
            auth_user = AuthUser.get_by_username(username)
            headers = remember(request, auth_user.user_id)
            request.session.flash(_(u"Successful login."), 'success')
            return HTTPFound(location=request.route_path('home'),
                             headers=headers)
        else:
            request.session.flash(_(u"Check your login credentials!"), 'error')
    return dict(renderer=FormRenderer(form))
예제 #4
0
파일: root.py 프로젝트: lazaret/anuket
def login_view(request):
    """ Render the login form.

    Display an empty login form or check the submited credentials with the ones
    from the database. Add a success flash message, an userid in the cookies
    and redirect to the home page if the credentials are goods. Add an error
    flash message and display again the login form if the credentials are
    wrong.

    :param request: a ``pyramid.request`` object
    """
    _ = request.translate
    form = Form(request, schema=LoginForm)
    if 'form_submitted' in request.params and form.validate():
        username = request.params['username']
        password = request.params['password']
        if AuthUser.check_password(username, password):
            auth_user = AuthUser.get_by_username(username)
            headers = remember(request, auth_user.user_id)
            request.session.flash(_(u"Successful login."),
                                  'success')
            return HTTPFound(location=request.route_path('home'),
                             headers=headers)
        else:
            request.session.flash(_(u"Check your login credentials!"),
                                  'error')
    return dict(renderer=FormRenderer(form))
예제 #5
0
 def validate_python(self, values, state):
     """ Check for the uniqueness of `username`."""
     if 'username' in values:
         username = values['username']
         user = AuthUser.get_by_username(username)
     else:
         user = None  # no check for empty value
     # user_id is used to not raise an error when editing the user
     # the user_id must be available as hidden field in the edit form
     if 'user_id' in values:
         user_id = values['user_id']
     else:
         user_id = None
     if user and (user.user_id != user_id):
         errors = {'username': self.message('not_unique_username', state)}
         raise Invalid(self.message('not_unique_username', state),
                       values,
                       state,
                       error_dict=errors)