From 6866b7b2b3cf5db066dd84d7b054259959aef8a4 Mon Sep 17 00:00:00 2001 From: lois <lois@procolix.eu> Date: Thu, 27 Mar 2025 16:59:29 +0100 Subject: [PATCH] Show if deployment succeeded --- .../panel/templates/configuration_form.html | 19 ++++++++++++++++++- panel/src/panel/views.py | 10 ++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/panel/src/panel/templates/configuration_form.html b/panel/src/panel/templates/configuration_form.html index ffc78e3d..7e7b5ace 100644 --- a/panel/src/panel/templates/configuration_form.html +++ b/panel/src/panel/templates/configuration_form.html @@ -9,7 +9,8 @@ hx-trigger="click" hx-indicator="#spinner-container" hx-disabled-elt="this" - hx-swap="none" + hx-target="#deployment-result" + hx-swap="innerHTML" name="deploy"> Deploy </button> @@ -19,5 +20,21 @@ <div id="spinner-container" class="htmx-indicator"> <span class="loader"></span> </div> + + <p id="deployment-result"> + {% if deployment_status %} + <ul> + <li> + <input type="checkbox" id="peertube"> Peertube + </li> + <li> + <input type="checkbox" id="mastodon"> Mastodon + </li> + <li> + <input type="checkbox" id="pixelfed"> Pixelfed + </li> + </ul> + {% endif %} + </p> </form> {% endblock %} diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py index 2a1d4118..93944ce5 100644 --- a/panel/src/panel/views.py +++ b/panel/src/panel/views.py @@ -8,6 +8,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.models import User from django.views.generic import TemplateView, DetailView from django.views.generic.edit import FormView +from django.http import HttpResponse from panel import models, settings from panel import models @@ -98,9 +99,13 @@ class DeploymentStatus(ConfigurationForm): # Check for deploy button if "deploy" in self.request.POST.keys(): - self.deployment(obj) + deployment_result = self.deployment(obj) + if deployment_result.returncode == 0: + deployment_status = "Deployment Succeeded" + else: + deployment_status = "Deployment Failed" - return super().form_valid(form) + return HttpResponse(deployment_status) def deployment(self, obj): submission = obj.parsed_value.model_dump_json() @@ -135,4 +140,5 @@ class DeploymentStatus(ConfigurationForm): cwd=settings.repo_dir, env=env, ) + print(deployment_result.returncode) return deployment_result \ No newline at end of file