fix nginx conf + improve ui

This commit is contained in:
rmanach
2023-09-20 19:41:19 +02:00
parent b3989a401a
commit 53c54e9553
17 changed files with 263 additions and 134 deletions
+1 -1
View File
@@ -3,4 +3,4 @@ from django_eventstream.channelmanager import DefaultChannelManager
class DeploymentChannelManager(DefaultChannelManager):
def can_read_channel(self, user, channel):
return user.is_authenticated
return user is not None and user.is_authenticated
+3 -1
View File
@@ -1,4 +1,4 @@
# Generated by Django 4.2.5 on 2023-09-18 08:14
# Generated by Django 4.2.5 on 2023-09-20 17:23
from django.conf import settings
from django.db import migrations, models
@@ -44,6 +44,8 @@ class Migration(migrations.Migration):
max_length=7,
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
(
"user",
models.ForeignKey(
+3
View File
@@ -1,4 +1,5 @@
from enum import Enum
from datetime import datetime
from django.contrib.auth.models import User
@@ -36,6 +37,8 @@ class Deployment(models.Model):
status = models.CharField(
max_length=7, choices=Status.into_choices(), default=Status.READY.name
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -25,13 +25,16 @@ var start = function (url) {
const tr = document.getElementById(message.id);
if (tr) {
var th = tr.querySelector("th[name='status']");
th.innerHTML = message.status;
var status = tr.querySelector("th[name='status']");
status.innerHTML = message.status;
var button = tr.querySelector("th[name='deploy']");
if (message.status == "SUCCESS") {
button.innerHTML = "";
}
if (message.status == "FAILED") {
setTimeout(() => {
window.location.reload();
}, 2000);
}
}
+10 -2
View File
@@ -14,14 +14,22 @@ from deployment.tasks import deploy as launch_deploy
def index(request):
deployments = Deployment.objects.filter(user=request.user.id)
deployments = Deployment.objects.filter(user=request.user.id).order_by(
"-created_at"
)
paginator = Paginator(deployments, 5)
page_number = request.GET.get("page")
page_obj = paginator.get_page(page_number)
return render(
request, "deployment/board.html", {"page_obj": page_obj, "url": "events/"}
request,
"deployment/board.html",
{
"page_obj": page_obj,
"range_pages": [i + 1 for i in range(page_obj.paginator.num_pages)],
"url": "events/",
},
)