]> git.ipfire.org Git - pbs.git/commitdiff
releases: Fix publishing releases
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 11 Feb 2025 10:32:47 +0000 (10:32 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 11 Feb 2025 10:32:47 +0000 (10:32 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/templates/distros/releases/publish.html
src/web/distributions.py

index 5cfda0e597e58d41e9e46af6b5618480c1f86692..0d2b6b4e6b92c8657a8766a2b4e516bf2516bd33 100644 (file)
@@ -1,6 +1,6 @@
-{% extends "../../modal.html" %}
+{% extends "modal.html" %}
 
-{% block title %}{{ release }} - {{ _("Publish") }}{% end block %}
+{% block title %}{{ release }} - {{ _("Publish") }}{% endblock %}
 
 {% block breadcrumbs %}
        <nav class="breadcrumb" aria-label="breadcrumbs">
                        </li>
                </ul>
        </nav>
-{% end block %}
+{% endblock %}
 
 {% block modal_title %}
        <h4 class="title is-4">{{ _("Publish Release") }}</h4>
        <h6 class="subtitle is-6">{{ release }}</h6>
-{% end block %}
+{% endblock %}
 
 {% block modal %}
        <form method="POST" action="">
-               {% raw xsrf_form_html() %}
+               {{ xsrf_form_html() | safe }}
 
                <div class="content">
                        <p>
@@ -50,4 +50,4 @@
                        </button>
                </div>
        </form>
-{% end block %}
+{% endblock %}
index 08d1501151c4b59f391a1184144b6c36a8c064e2..b15208f902b4d7c21792c42f9b467cd880838898 100644 (file)
@@ -213,13 +213,13 @@ class ReleasesDeleteHandler(base.BaseHandler):
 
 class ReleasesPublishHandler(base.BaseHandler):
        @base.authenticated
-       def get(self, distro_slug, release_slug):
-               distro = self.backend.distros.get_by_slug(distro_slug)
+       async def get(self, distro_slug, release_slug):
+               distro = await self.backend.distros.get_by_slug(distro_slug)
                if not distro:
                        raise tornado.web.HTTPError(404, "Could not find distro: %s" % distro_slug)
 
                # Fetch the release
-               release = distro.get_release(release_slug)
+               release = await distro.get_release(release_slug)
                if not release:
                        raise tornado.web.HTTPError(404, "Could not find release %s" % release_slug)
 
@@ -227,16 +227,16 @@ class ReleasesPublishHandler(base.BaseHandler):
                if not release.has_perm(self.current_user):
                        raise tornado.web.HTTPError(403)
 
-               self.render("distros/releases/publish.html", release=release, distro=distro)
+               await self.render("distros/releases/publish.html", release=release, distro=distro)
 
        @base.authenticated
        async def post(self, distro_slug, release_slug):
-               distro = self.backend.distros.get_by_slug(distro_slug)
+               distro = await self.backend.distros.get_by_slug(distro_slug)
                if not distro:
                        raise tornado.web.HTTPError(404, "Could not find distro: %s" % distro_slug)
 
                # Fetch the release
-               release = distro.get_release(release_slug)
+               release = await distro.get_release(release_slug)
                if not release:
                        raise tornado.web.HTTPError(404, "Could not find release %s" % release_slug)
 
@@ -244,7 +244,8 @@ class ReleasesPublishHandler(base.BaseHandler):
                if not release.has_perm(self.current_user):
                        raise tornado.web.HTTPError(403)
 
-               with self.db.transaction():
+               # Publish the release
+               async with await self.db.transaction():
                        await release.publish()
 
                # Redirect back to the release