def accounts_invites(request): """Return a list of the accounts that aren't activated.""" user_list = UserMgr.get_list() ret = { 'users': [(u.username, u.invite_ct) for u in user_list], } return ret
def login(request): """Login the user to the system If not POSTed then show the form If error, display the form with the error message If successful, forward the user to their /recent Note: the came_from stuff we're not using atm. We'll clean out if we keep things this way """ login_url = route_url("login", request) referrer = request.url if referrer == login_url: referrer = u"/" # never use the login form itself as came_from came_from = request.params.get("came_from", referrer) message = u"" login = u"" password = u"" if "form.submitted" in request.params: login = request.params["login"] password = request.params["password"] LOG.debug(login) auth = UserMgr.get(username=login) LOG.debug(auth) LOG.debug(UserMgr.get_list()) if auth and auth.validate_password(password) and auth.activated: # We use the Primary Key as our identifier once someone has # authenticated rather than the username. You can change what is # returned as the userid by altering what is passed to remember. headers = remember(request, auth.id, max_age=60 * 60 * 24 * 30) auth.last_login = datetime.utcnow() # log the successful login AuthLog.login(login, True) # we're always going to return a user to their own /recent after a # login return HTTPFound(location=request.route_url("user_bmark_recent", username=auth.username), headers=headers) # log the right level of problem if auth and not auth.validate_password(password): message = "Your login attempt has failed." AuthLog.login(login, False, password=password) elif auth and not auth.activated: message = "User account deactivated. Please check your email." AuthLog.login(login, False, password=password) AuthLog.disabled(login) elif auth is None: message = "Failed login" AuthLog.login(login, False, password=password) return {"message": message, "came_from": came_from, "login": login, "password": password}
def accounts_inactive(request): """Return a list of the accounts that aren't activated.""" user_list = UserMgr.get_list(active=False) ret = { 'count': len(user_list), 'users': [dict(h) for h in user_list], } return ret
def _get_userlist(args): """Fetch a list of users from the system and output to stdout""" _init_sql(args) for user in UserMgr.get_list(): print("{0:<10} {1:<20} {2:<50}".format( user.username, user.name, user.email))
def user_list(request): """Provide list of users in the system. Supported Query params: order, limit """ params = request.params order = params.get('order', None) limit = params.get('limit', None) user_list = UserMgr.get_list(order=order, limit=limit) ret = { 'count': len(user_list), 'users': [dict(h) for h in user_list], } return ret
def user_list(request): """Provide list of users in the system. Supported Query params: order, limit """ params = request.params order = params.get('order', None) limit = params.get('limit', None) user_list = UserMgr.get_list(order=order, limit=limit) ret = { 'count': len(user_list), 'users': [dict(h) for h in user_list], } return _api_response(request, ret)
def test_activation_delete(self): """Make sure removing an activation does not remove a user.""" tst = User() tst.username = gen_random_word(10) tst.activation = Activation('signup') DBSession.add(tst) DBSession.flush() DBSession.delete(tst.activation) users = UserMgr.get_list() # We still have the admin user as well so the count is two. eq_(2, len(users), 'We should have a total of 2 users still: ' + str(len(users)))
def test_activation_delete(self): """Make sure removing an activation does not remove a user.""" tst = User() tst.username = gen_random_word(10) tst.activation = Activation(u'signup') DBSession.add(tst) DBSession.flush() DBSession.delete(tst.activation) users = UserMgr.get_list() # We still have the admin user as well so the count is two. self.assertEqual( 2, len(users), 'We should have a total of 2 users still: ' + str(len(users)))
def test_activation_cascade(self): """Removing a user cascades the activations as well.""" tst = User() tst.username = gen_random_word(10) tst.activation = Activation('signup') DBSession.add(tst) DBSession.flush() DBSession.delete(tst) users = UserMgr.get_list() # We still have the admin user as well so the count is one. eq_(1, len(users), 'We should have a total of 1 user still: ' + str(len(users))) activations = DBSession.query(Activation).all() eq_(0, len(activations), 'There should be no activations left')
def test_activation_cascade(self): """Removing a user cascades the activations as well.""" tst = User() tst.username = gen_random_word(10) tst.activation = Activation('signup') DBSession.add(tst) DBSession.flush() DBSession.delete(tst) users = UserMgr.get_list() # We still have the admin user as well so the count is one. eq_( 1, len(users), 'We should have a total of 1 user still: ' + str(len(users))) activations = DBSession.query(Activation).all() eq_(0, len(activations), 'There should be no activations left')
def login(request): """Login the user to the system If not POSTed then show the form If error, display the form with the error message If successful, forward the user to their /recent Note: the came_from stuff we're not using atm. We'll clean out if we keep things this way """ login_url = route_url('login', request) referrer = request.url if referrer == login_url: referrer = '/' # never use the login form itself as came_from came_from = request.params.get('came_from', referrer) message = '' login = '' password = '' if 'form.submitted' in request.params: login = request.params['login'] password = request.params['password'] LOG.debug(login) auth = UserMgr.get(username=login) LOG.debug(auth) LOG.debug(UserMgr.get_list()) if auth and auth.validate_password(password) and auth.activated: # We use the Primary Key as our identifier once someone has # authenticated rather than the username. You can change what is # returned as the userid by altering what is passed to remember. headers = remember(request, auth.id, max_age=60 * 60 * 24 * 30) auth.last_login = datetime.utcnow() # log the successful login AuthLog.login(login, True) # we're always going to return a user to their own /recent after a # login return HTTPFound(location=request.route_url( 'user_bmark_recent', username=auth.username), headers=headers) # log the right level of problem if auth and not auth.validate_password(password): message = "Your login attempt has failed." AuthLog.login(login, False, password=password) elif auth and not auth.activated: message = "User account deactivated. Please check your email." AuthLog.login(login, False, password=password) AuthLog.disabled(login) elif auth is None: message = "Failed login" AuthLog.login(login, False, password=password) return { 'message': message, 'came_from': came_from, 'login': login, 'password': password, }