Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
if name:
return await self.backend.users.get_by_name(name)
+
# XXX TODO
BackendMixin = BaseHandler
return result
return wrapper
+
+
+class AdminHandler(BaseHandler):
+ """
+ An extension of the base handler that can only be called by an admin
+ """
+ @authenticated
+ async def prepare(self):
+ # Fetch the current user
+ current_user = await self.get_current_user()
+
+ # Fail if we don't have admin right
+ if not current_user.is_admin():
+ raise tornado.web.HTTPError(403, "admin rights required")