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))))
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)
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)
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))