--- a +++ b/qiita_pet/handlers/logger_handlers.py @@ -0,0 +1,38 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) 2014--, The Qiita Development Team. +# +# Distributed under the terms of the BSD 3-clause License. +# +# The full license is in the file LICENSE, distributed with this software. +# ----------------------------------------------------------------------------- +from tornado.web import authenticated + +from .base_handlers import BaseHandler +from qiita_db.logger import LogEntry +from qiita_core.util import execute_as_transaction +from tornado.web import HTTPError + + +class LogEntryViewerHandler(BaseHandler): + def check_access(self): + if self.current_user.level not in {'admin', 'dev'}: + raise HTTPError(403, reason="User %s doesn't have sufficient " + "privileges to view error page" % + self.current_user.email) + + @authenticated + @execute_as_transaction + def get(self): + self.check_access() + logentries = LogEntry.newest_records() + self.render("error_log.html", logentries=logentries) + + @authenticated + @execute_as_transaction + def post(self): + self.check_access() + numentries = int(self.get_argument("numrecords")) + if numentries <= 0: + numentries = 100 + logentries = LogEntry.newest_records(numentries) + self.render("error_log.html", logentries=logentries)