return list(builds)
+ def get_added_at_for_build(self, build):
+ res = self.db.get("""
+ SELECT
+ added_at
+ FROM
+ repository_builds
+ WHERE
+ repository_builds.repo_id = %s
+ AND
+ repository_builds.build_id = %s
+ AND
+ repository_builds.removed_at IS NULL
+ """, self.id, build,
+ )
+
+ if res:
+ return res.added_at
+
@lazy_property
def total_builds(self):
res = self.db.get("""
{% if build.jobs %}
<section class="section">
<div class="container">
+ <h5 class="title is-5">{{ _("Jobs")}}</h5>
+
{% module JobsList(build.jobs, show_arch_only=True, show_packages=True) %}
</div>
</section>
</section>
{% end %}
+ {# Repos #}
+ {% if build.repos %}
+ <section class="section">
+ <div class="container">
+ <h5 class="title is-5">{{ _("Repositories") }}</h5>
+
+ {% module ReposList(build.repos, build=build) %}
+
+ {% if current_user == build.owner %}
+ <div class="buttons">
+ <a class="button is-success" href="/builds/{{ build.uuid }}/repos/add">
+ {{ _("Add Build To Repository") }}
+ </a>
+ </div>
+ {% end %}
+ </div>
+ </section>
+ {% end %}
+
{# Log #}
<section class="section">
<div class="container">
-{% for repo in repos %}
- <div class="block">
- <div class="box">
- <h5 class="title is-5">
- <a href="{{ repo.url }}">{{ repo }}</a>
- </h5>
- </div>
- </div>
-{% end %}
+<div class="block">
+ <nav class="panel is-link">
+ {% for repo in repos %}
+ <a class="panel-block is-justify-content-space-between p-4" href="{{ repo.url }}">
+ <h5 class="title is-5 mb-0">
+ {% if repo.owner %}
+ <span class="icon-text">
+ <span class="icon">
+ <figure class="image">
+ <img class="is-rounded" src="{{ repo.owner.avatar(32) }}" alt="{{ repo.owner }}">
+ </figure>
+ </span>
+ <span>
+ {{ repo.owner }}
+ </span>
+ </span>
+
+ ‐
+ {% end %}
+
+ {{ repo }}
+ </h5>
+
+ {% if build %}
+ {% set t = repo.get_added_at_for_build(build) %}
+
+ <span class="has-text-grey">
+ {{ _("Added %s") % locale.format_date(t, shorter=True) }}
+ </span>
+ {% end %}
+ </a>
+ {% end %}
+ </nav>
+</div>
class ListModule(ui_modules.UIModule):
- def render(self, repos):
- return self.render_string("repos/modules/list.html", repos=repos)
+ def render(self, repos, build=None):
+ return self.render_string("repos/modules/list.html", repos=repos, build=build)