From: Michael Tremer Date: Tue, 11 Feb 2025 10:22:33 +0000 (+0000) Subject: releases: Fix creating a new release X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=90807e6078b901d3554657b1026ba86334eedfa4;p=pbs.git releases: Fix creating a new release Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/distros.py b/src/buildservice/distros.py index 8600e8d6..c2154fa0 100644 --- a/src/buildservice/distros.py +++ b/src/buildservice/distros.py @@ -362,7 +362,7 @@ class Distro(database.Base, database.BackendMixin, database.SoftDeleteMixin): return await self.db.fetch_one(stmt) - async def create_release(self, name, user, stable=False): + async def create_release(self, name, **kwargs): """ Creates a new release """ @@ -375,8 +375,7 @@ class Distro(database.Base, database.BackendMixin, database.SoftDeleteMixin): distro = self, name = name, slug = slug, - user = user, - stable = stable, + **kwargs, ) # XXX create image jobs diff --git a/src/templates/distros/releases/edit.html b/src/templates/distros/releases/edit.html index 3851807f..58823b89 100644 --- a/src/templates/distros/releases/edit.html +++ b/src/templates/distros/releases/edit.html @@ -1,6 +1,14 @@ -{% extends "../../modal.html" %} +{% extends "modal.html" %} -{% block title %}{{ distro }} - {{ _("Create Release")}}{% end block %} +{% block title %} + {{ distro }} + - + {% if release %} + {{ _("Edit Release") }} + {% else %} + {{ _("Create Release")}} + {% endif %} +{% endblock %} {% block breadcrumbs %} -{% end block %} +{% endblock %} {% block modal_title %}

@@ -40,22 +48,24 @@ {{ _("Edit Release") }} {% else %} {{ _("Create Release") }} - {% end %} + {% endif %}

+
{{ distro }}
-{% end block %} +{% endblock %} {% block modal %}
- {% raw xsrf_form_html() %} + {{ xsrf_form_html() | safe }} {# Name #}
+
+ {% if release %}value="{{ release.name }}"{% endif %}>
@@ -63,9 +73,10 @@
+

{{ _("Check this box, if this release is a stable release") }}

@@ -74,9 +85,10 @@ {# Announcement #}
+
- +
@@ -90,7 +102,7 @@ - {% end %} + {% endif %}
-{% end block %} +{% endblock %} diff --git a/src/web/distributions.py b/src/web/distributions.py index 274fedde..6dc58a63 100644 --- a/src/web/distributions.py +++ b/src/web/distributions.py @@ -98,7 +98,7 @@ class ReleasesCreateHandler(base.BaseHandler): if not distro.has_perm(self.current_user): raise tornado.web.HTTPError(403) - self.render("distros/releases/edit.html", release=None, distro=distro) + await self.render("distros/releases/edit.html", release=None, distro=distro) @base.authenticated async def post(self, distro_slug): @@ -110,19 +110,15 @@ class ReleasesCreateHandler(base.BaseHandler): if not distro.has_perm(self.current_user): raise tornado.web.HTTPError(403) - # Fetch arguments - name = self.get_argument("name") - stable = self.get_argument_bool("stable") - - with self.db.transaction(): - # Create the new release - release = self.backend.distros.releases.create( - distro=distro, name=name, stable=stable, user=self.current_user, + # Create the new release + async with await self.db.transaction(): + release = await distro.create_release( + name = self.get_argument("name"), + stable = self.get_argument_bool("stable"), + created_by = self.current_user, + announcement = self.get_argument("announcement", None) ) - # Store announcement - release.announcement = self.get_argument("announcement", None) - # Redirect to the new release page self.redirect(release.url)