self._set_attribute("path", path)
@lazy_property
- def build(self):
- if self.job:
- return self.job.build
+ def builds(self):
+ builds = self.backend.builds._get_builds("""
+ SELECT
+ *
+ FROM
+ builds
+ WHERE
+ deleted IS FALSE
+ AND
+ pkg_id = %s
+ ORDER BY
+ created_at DESC""",
+ self.id,
+ )
- return self.backend.builds._get_build("SELECT * FROM builds \
- WHERE pkg_id = %s" % self.id)
+ return list(builds)
@lazy_property
def job(self):
-- Name: builds_pkg_id; Type: INDEX; Schema: public; Owner: pakfire
--
-CREATE INDEX builds_pkg_id ON public.builds USING btree (pkg_id);
+CREATE INDEX builds_pkg_id ON public.builds USING btree (pkg_id) WHERE (deleted IS FALSE);
--
<li>
<a href="/">{{ _("Home") }}</a>
</li>
- {% if package.build %}
- <li>
- <a href="/builds">{{ _("Builds") }}</a>
- </li>
- <li>
- <a href="/builds/{{ package.build.uuid }}">{{ package.build }}</a>
- </li>
- <li>
- {{ _("Packages") }}
- </li>
- {% else %}
- <li>
- <a href="/packages">{{ _("Packages") }}</a>
- </li>
- {% end %}
+ <li>
+ <a href="/packages">{{ _("Packages") }}</a>
+ </li>
<li>
<span class="show-for-sr">{{ _("Current") }}: </span> {{ package }}
</li>
{{ _("Download Package") }} ({{ format_size(package.size) }})
</a>
- {% if package.build %}
- <a class="expanded secondary button" href="/builds/{{ package.build.uuid }}">
- {{ _("Build %s") % package.build }}
+ {% for build in package.builds %}
+ <a class="expanded secondary button" href="/builds/{{ build.uuid }}">
+ {{ _("Build from %s") % locale.format_date(build.created_at) }}
</a>
{% end %}