yield Event(self.backend, event)
- def __call__(self, build=None, priority=None, limit=None):
+ def __call__(self, build=None, user=None, priority=None, limit=None):
"""
Returns all events filtered by the given criteria
"""
# Filter by build
if build:
- conditions.append("build = %s")
+ conditions.append("events.build = %s")
values.append(build)
+ # Filter by user
+ if user:
+ conditions.append("(events.user = %s OR events.by_user = %s)")
+ values.append(user)
+ values.append(user)
+
# Filter by priority
if priority:
- conditions.append("priority >= %s")
+ conditions.append("events.priority >= %s")
values.append(priority)
# Fetch all events
if slug:
return self.backend.distros.get_by_slug(slug)
+
+ def get_argument_user(self, *args, **kwargs):
+ name = self.get_argument(*args, **kwargs)
+
+ if name:
+ return self.backend.users.get_by_name(name)
class LogHandler(base.BaseHandler):
def get(self):
- self.render("log.html")
+ kwargs = {
+ "user" : self.get_argument_user("user", None),
+ }
+
+ self.render("log.html", **kwargs)