yield Event(self.backend, event)
- def __call__(self, build=None, user=None, priority=None, limit=None):
+ def __call__(self, build=None, user=None, priority=None, offset=None, limit=None):
"""
Returns all events filtered by the given criteria
"""
-- Sort everything in reverse order
ORDER BY
t DESC
+ OFFSET
+ %%s
LIMIT
%%s
""" % {
"EVENTS_VIEW" : EVENTS_VIEW,
"conditions" : " AND ".join(conditions) or "TRUE",
- }, *values, limit,
+ }, *values, offset, limit,
)
# Expand all events
{% block title %}{{ _("Log") }}{% end block %}
{% block container %}
- <nav aria-label="{{ _("You are here:") }}" role="navigation">
- <ul class="breadcrumbs">
- <li>
- <a href="/">{{ _("Home") }}</a>
- </li>
- <li>
- <span class="show-for-sr">{{ _("Current") }}: </span> {{ _("Log") }}
+ <nav class="breadcrumb" aria-label="breadcrumbs">
+ <ul>
+ <li class="is-active">
+ <a href="#" aria-current="page">{{ _("Log") }}</a>
</li>
</ul>
</nav>
- <h1 class="text-center">{{ _("Log") }}</h1>
+ <section class="section">
+ <h1 class="title">{{ _("Log") }}</h1>
+
+ <div class="block">
+ {% module EventsList(user=user, offset=offset, limit=limit) %}
+ </div>
+
+ <div class="block">
+ <nav class="pagination is-centered" role="navigation" aria-label="pagination">
+ <a class="pagination-previous {% if not offset %}is-disabled{% end %}"
+ href="/log?offset={{ offset - limit }}&limit={{ limit }}">
+ {{ _("Previous Page") }}
+ </a>
- {% module EventsList(user=user) %}
+ <a class="pagination-next" href="/log?offset={{ offset + limit }}&limit={{ limit }}">
+ {{ _("Next Page") }}
+ </a>
+ </nav>
+ </div>
+ </section>
{% end %}
class LogHandler(base.BaseHandler):
def get(self):
kwargs = {
- "user" : self.get_argument_user("user", None),
+ # Pagination
+ "offset" : self.get_argument_int("offset", None) or 0,
+ "limit" : self.get_argument_int("limit", None) or 50,
+
+ # Filters
+ "user" : self.get_argument_user("user", None),
}
self.render("log.html", **kwargs)