Пример #1
0
 def login(self, url=h.encodeURL('/')):
     """
     Show login form
     """
     c.messageCode = request.GET.get('messageCode')
     c.url = h.decodeURL(url)
     c.publicKey = config['extra']['recaptcha']['public']
     return render('/people/login.mako')
 def test_logout(self):
     """
     Make sure that logging out works.
     If the person is logged in, make sure the person gets logged out
     and is redirected properly.  If the person is already logged out, 
     return the user to the page before the user tried to log out.
     """
     # Initialize
     url_test = url('person_index')
     # Add person
     meta.Session.add(model.Person(username, model.hashString(password), nickname, email))
     meta.Session.commit()
     # Logging out should redirect back
     self.assert_(url_test in self.app.get(url('person_logout', url=h.encodeURL(url_test))))
     # Log in
     self.assert_('Login' in self.app.get(url('person_login', url=h.encodeURL(url_test))))
     self.assertEqual(simplejson.dumps({'isOk': 1}), self.app.post(url('person_login_'), dict(username=username, password=password, offset_in_minutes=0)).body)
     # Logging out should redirect back
     self.assert_(url_test in self.app.get(url('person_logout', url=h.encodeURL(url_test))))
Пример #3
0
 def confirm(self, ticket):
     """
     Confirm changes.
     """
     # Send feedback
     confirmation = executePersonConfirmation(ticket)
     # If the confirmation exists,
     if confirmation:
         messageCode = 'updated' if confirmation.person_id else 'created'
     else:
         messageCode = 'expired'
     # Return
     return redirect_to('person_login', url=h.encodeURL('/'), messageCode=messageCode)
Пример #4
0
 def logout(self, url=h.encodeURL('/')):
     """
     Logout
     """
     # If the person is logged in,
     if h.isPerson():
         del session['offset_in_minutes']
         del session['personID']
         del session['nickname']
         del session['is_super']
         session.save()
     # Redirect
     return redirect_to(h.decodeURL(url))
 def test_login(self):
     """
     Make sure that logging in works.
     Ensure that the login page shows.
     Ensure that bad credentials result in an error message.
     Ensure that good credentials result in a proper redirect.
     """
     # Initialize
     url_test = url('person_update')
     # Assert that the login page shows and stores url
     self.assert_('Login' in self.app.get(url('person_login', url=h.encodeURL(url_test))))
     # Add person
     meta.Session.add(model.Person(username, model.hashString(password), nickname, email))
     meta.Session.commit()
     # Log in using bad credentials
     self.assertEqual(simplejson.dumps({'isOk': 0}), self.app.post(url('person_login_'), dict(username=username, password=password + 'x', offset_in_minutes=0)).body)
     # Log in using good credentials
     self.assertEqual(simplejson.dumps({'isOk': 1}), self.app.post(url('person_login_'), dict(username=username, password=password, offset_in_minutes=0)).body)
Пример #6
0
 def __before__(self):
     # If authentication is required and the person is not logged in,
     if self.withAuthentication and not h.isPerson():
         # Remember where to send the user after a successful login
         return redirect_to('person_login', url=h.encodeURL(request.path_info))