def admin_render(self): """Render an admin template""" ajax = self.get_argument("ajax", default=False) template_args = { "username": self.get_username(), "view": self.view(), "error": self.error, "sysop": database.is_sysop(self.get_username()), "ajax": ajax } template_args.update(self.template_args()) self.render("{}.html".format(self.view()), **template_args)
def create_user(self, username, password, sysop, can_ban, can_modify_blacklist): if not username and not password: self.set_error("Missing parameters") return if not database.is_sysop(self.get_username()): self.set_error("Only sysop can create users") return if database.login_exists(username): self.set_error("User already exists") return if not password: self.set_error("Password cannot be empty!") return database.add_login(username, password, sysop, can_ban, can_modify_blacklist)
def remove_user(self, username): """Remove user""" if not username: self.set_error("Missing parameters") return if not database.is_sysop(self.get_username()): self.set_error("Only sysop can delete users") return if not database.login_exists(username): self.set_error("No such user") return if self.get_username() == username: self.set_error("Can't delete own account!") return database.delete_login(username)
def change_user_password(self, username, password): """Change username's password""" if not username or not password: self.set_error("Missing parameters") return if self.get_username() != username and not database.is_sysop( self.get_username()): self.set_error("Only sysop can change other users passwords") return if not database.login_exists(username): self.set_error("No such user") return if not password: self.set_error("Password cannot be empty!") return database.update_login(username, password)