コード例 #1
0
 def list(self):
     """
     Lists all available users on the system.
     """
     session = db.get()
     users = session.query(User)
     return template.render(users=users)
コード例 #2
0
 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
コード例 #3
0
 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
コード例 #4
0
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
コード例 #5
0
 def index(self):
     """The default page."""
     session = db.get()
     articles = session.query(model.NewsArticle)
     return template.render(articles=articles)