def list(self): """ Lists all available users on the system. """ session = db.get() users = session.query(User) return template.render(users=users)
def check(): # We don't have user groups currently. Only # type of users. But a type is almost the same # thing. session = db.get() user = session.query(model.User).filter_by( login=cherrypy.request.login).first() if user is None: return False return groupname == user.user_type
def add(self, **data): """ Create a new user. """ errors = {} if cherrypy.request.method == 'POST': form = AddUserForm() try: data = form.to_python(data) session = db.get() user = User(**data) session.add(user) session.commit() raise cherrypy.HTTPRedirect('/users/user/%s' % data["login"]) except Invalid, error: errors = error.unpack_errors() print errors
def check_credentials(username, password): """Verifies credentials for username and password. Returns None on success or a string describing the error on failure""" session = db.get() # This is a check that there always is an administrator # account. If the administrator is missing or has been # deleted it will be recreated here. admin = session.query(model.User).filter_by(login="******").first() if admin is None: print("No admin account present in database. " + "Creating with default password") admin = model.User("admin", "admin", "Administrator", "password") session.add(admin) session.commit() user = session.query(model.User).filter_by(login=username).first() if user is None or user.verify_password(password) is False: return "Incorrect username or password." return None
def index(self): """The default page.""" session = db.get() articles = session.query(model.NewsArticle) return template.render(articles=articles)