From: Michael Tremer Date: Thu, 14 Jul 2022 13:38:28 +0000 (+0000) Subject: packages: Allow source packages to have more than one build X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b69ddcfee72a3e4be3f39fadead48eb14456f9c;p=pbs.git packages: Allow source packages to have more than one build Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/packages.py b/src/buildservice/packages.py index 38c31390..632cfa78 100644 --- a/src/buildservice/packages.py +++ b/src/buildservice/packages.py @@ -387,12 +387,22 @@ class Package(base.DataObject): 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): diff --git a/src/database.sql b/src/database.sql index 410ee0af..faa9f7a4 100644 --- a/src/database.sql +++ b/src/database.sql @@ -1982,7 +1982,7 @@ CREATE INDEX builds_created_at ON public.builds USING btree (created_at DESC); -- 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); -- diff --git a/src/templates/packages/show.html b/src/templates/packages/show.html index cf6a1901..3993dbad 100644 --- a/src/templates/packages/show.html +++ b/src/templates/packages/show.html @@ -8,21 +8,9 @@
  • {{ _("Home") }}
  • - {% if package.build %} -
  • - {{ _("Builds") }} -
  • -
  • - {{ package.build }} -
  • -
  • - {{ _("Packages") }} -
  • - {% else %} -
  • - {{ _("Packages") }} -
  • - {% end %} +
  • + {{ _("Packages") }} +
  • {{ _("Current") }}: {{ package }}
  • @@ -35,9 +23,9 @@ {{ _("Download Package") }} ({{ format_size(package.size) }}) - {% if package.build %} - - {{ _("Build %s") % package.build }} + {% for build in package.builds %} + + {{ _("Build from %s") % locale.format_date(build.created_at) }} {% end %}