]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Fix aborting jobs
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 14:28:32 +0000 (14:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 26 Jan 2025 14:28:32 +0000 (14:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/jobs.py
src/templates/jobs/abort.html
src/web/jobs.py

index 5ea856d2b5d379db12a60a0a748b44601202dc47..cfeadcaa03a75a89c12234d0eb69e78c75a7d0f0 100644 (file)
@@ -844,7 +844,7 @@ class Job(database.Base, database.BackendMixin, database.SoftDeleteMixin):
 
        # Abort!
 
-       async def abort(self, user=None):
+       async def abort(self, aborted_by=None):
                """
                        Aborts the job
                """
@@ -860,8 +860,8 @@ class Job(database.Base, database.BackendMixin, database.SoftDeleteMixin):
 
                # Mark as aborted
                self.aborted = True
-               if user:
-                       self.aborted_by = user
+               if aborted_by:
+                       self.aborted_by = aborted_by
 
                # Try to dispatch more jobs in the background
                await self.backend.jobs.queue.dispatch()
index f1ca06b596448dd08325a1b6f1dcd9aab03e604d..6e1c3bc537b4081a68f2d94a411d87dd1be72f98 100644 (file)
@@ -1,8 +1,8 @@
-{% extends "../base.html" %}
+{% extends "modal.html" %}
 
-{% block title %}{{ _("Abort Job %s") % job }}{% end block %}
+{% block title %}{{ _("Abort Job %s") % job }}{% endblock %}
 
-{% block container %}
+{% block breadcrumbs %}
        <nav class="breadcrumb" aria-label="breadcrumbs">
                <ul>
                        <li>
                        </li>
                </ul>
        </nav>
+{% endblock %}
 
-       <div class="columns is-centered">
-               <div class="column is-6">
-                       <h1 class="title is-1">{{ _("Abort Job") }}</h1>
+{% block modal_title %}
+       <h4 class="title is-4">{{ _("Abort Job") }}</h4>
+       <h6 class="subtitle is-6">{{ job }}</h6>
+{% endblock %}
 
-                       <form method="POST" action="">
-                               <div class="box">
-                                       {% raw xsrf_form_html() %}
+{% block modal %}
+       <form method="POST" action="">
+               {{ xsrf_form_html() | safe }}
 
-                                       <input class="button is-danger" type="submit"
-                                               value="{{ _("Abort Job") }}" />
-                               </div>
-                       </form>
+               <div class="content">
+                       <p>
+                               {{ _("Do you want to abort %s?") % job }}
+                       </p>
                </div>
-       </div>
-{% end block %}
+
+               {# Submit! #}
+               <div class="field">
+                       <button type="submit" class="button is-danger is-fullwidth">
+                               {{ _("Abort Job") }}
+                       </button>
+               </div>
+       </form>
+{% endblock %}
index f503e1934587ca4269394a2f7b2f5599c0fa9d5c..2ef8b8dd0d9622194e7638725e8470cc42c11dd9 100644 (file)
@@ -228,7 +228,7 @@ class AbortHandler(base.BaseHandler):
                if not job.has_perm(self.current_user):
                        raise tornado.web.HTTPError(403)
 
-               self.render("jobs/abort.html", job=job)
+               await self.render("jobs/abort.html", job=job)
 
        @base.authenticated
        async def post(self, uuid):
@@ -240,8 +240,9 @@ class AbortHandler(base.BaseHandler):
                if not job.has_perm(self.current_user):
                        raise tornado.web.HTTPError(403)
 
+               # Abort the job
                async with await self.db.transaction():
-                       await job.abort(self.current_user)
+                       await job.abort(aborted_by=self.current_user)
 
                self.redirect("/builds/%s" % job.build.uuid)