From 720b086292c3d8b2bf17ed566096faa421cdb8de Mon Sep 17 00:00:00 2001 From: eccDEV Date: Thu, 22 Aug 2024 21:29:01 +0000 Subject: [PATCH] Edit Layout && Add Station select --- db.sqlite3 | Bin 131072 -> 184320 bytes leitstelle/static/css/create.css | 18 +++- leitstelle/templates/leitstelle/base.html | 33 ------- leitstelle/templates/leitstelle/create.html | 63 +++++++++++- leitstelle/templates/leitstelle/index.html | 14 ++- .../templates/leitstelle/setStation.html | 25 +++++ leitstelle/urls.py | 1 + leitstelle/views.py | 9 +- main/admin.py | 11 ++- main/models.py | 49 ++++++++-- main/static/css/styles.css | 2 +- main/templates/main/base.html | 5 +- main/templates/main/header.html | 2 +- main/templates/main/index.html | 12 +-- monitor/static/css/style.css | 3 + monitor/static/sounds/audio1.mp3 | Bin 0 -> 10770 bytes monitor/static/sounds/audio2.mp3 | Bin 0 -> 23365 bytes monitor/static/sounds/audio3.mp3 | Bin 0 -> 12310 bytes monitor/static/sounds/audio4.mp3 | Bin 0 -> 13249 bytes monitor/static/sounds/audio5.mp3 | Bin 0 -> 17681 bytes monitor/static/sounds/audio6.mp3 | Bin 0 -> 114564 bytes monitor/templates/monitor/index.html | 90 +++++++++++++++++- 22 files changed, 264 insertions(+), 73 deletions(-) delete mode 100755 leitstelle/templates/leitstelle/base.html create mode 100755 leitstelle/templates/leitstelle/setStation.html create mode 100755 monitor/static/css/style.css create mode 100644 monitor/static/sounds/audio1.mp3 create mode 100644 monitor/static/sounds/audio2.mp3 create mode 100644 monitor/static/sounds/audio3.mp3 create mode 100644 monitor/static/sounds/audio4.mp3 create mode 100644 monitor/static/sounds/audio5.mp3 create mode 100644 monitor/static/sounds/audio6.mp3 diff --git a/db.sqlite3 b/db.sqlite3 index 8ea956cbbda5011926c3e7e8724f0ace3e8abddb..6ecbe29f8b2096167a45af65520d8f28c0163321 100755 GIT binary patch delta 8065 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 Q8=sHQwsY<0)Xo2Y0UPHfegFUf delta 775 zcmY*WOH30{6n$@|Orakx&=RTynMF17DQ%}MrHvKJFBmHzmS9-e7HDb-Z3(pHvm$6* zv?P2cFvbLBfr+jRPIO|>1-QUyqG)uXF_ExA7a9^4iiF_9$ijQ`UhX?5=iQrg#}<@h zW0_Nhxg0`>CFdxd)8&?Y4pl^-WDp3$-XT!{d+MU4_&DUU%`IM*Ao&_Kx$~5*ygcWm zXlC_Fv9<7_OnVP8kVNne-or8^Aq}@+Sj_GB1D`Z%v5rq0i*!V&$qXdoSAG4#fk=38 zFdQqOX$$68R2nySOeFL} z!2NCc8`0s#b&A0+eYgXv365cyew%n4!1Yidpa$VNO#ayW$mnOYj6ZB zJ7S@-kztFy-Nl(WtHHz>%p7ZWIIUGqo3+Bm+3ZyoaV_Rz6|{OAK?=0$ZPI>IEpE?i zDFqEP2xj0jNM!8mAk)(qF#l_w6(2unW@#NHc=@`SP%aP?Unc#h6tYH}TTCfs$4mu?#p@Qu+oknU#7AymSGf* zGDb%5c4H@nkTlhek1^6pAFif_7j^ix;5v_&rN$;aiLpY&8wV{jQ?eWeQV71oM|cTO w;SQvTPe~9`Z}6xn+mPo-$_=~=#NtH+oA4YK2|ow26SN!izi%HGRuAymKP*@0v;Y7A diff --git a/leitstelle/static/css/create.css b/leitstelle/static/css/create.css index 4717ad4..689d0a3 100755 --- a/leitstelle/static/css/create.css +++ b/leitstelle/static/css/create.css @@ -1,3 +1,17 @@ -h1 { - color: red; +#box1 { + text-align: left; + height: auto; + width: 70%; + border-radius: 1rem; + box-shadow: 0rem 0rem 2rem rgb(248, 0, 0); + /* background-color: hsla(0, 100%, 53%, 0.686); */ + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-weight: 600; + padding: 2em; + margin-top: 5rem; + margin-left: 17.5%; +} +.fz_activ { + background-color: rgb(255, 61, 61); + color: white; } \ No newline at end of file diff --git a/leitstelle/templates/leitstelle/base.html b/leitstelle/templates/leitstelle/base.html deleted file mode 100755 index ac76987..0000000 --- a/leitstelle/templates/leitstelle/base.html +++ /dev/null @@ -1,33 +0,0 @@ -{% load static %} - - - - - - - - - - - - - - - - - EmergencyControlCenter - Index - - - - {% block pushup %} - {% endblock %} - - {% include "main/header.html" %} - - {% block content %} - {% endblock %} - - - - - \ No newline at end of file diff --git a/leitstelle/templates/leitstelle/create.html b/leitstelle/templates/leitstelle/create.html index fbc9579..2ebd525 100755 --- a/leitstelle/templates/leitstelle/create.html +++ b/leitstelle/templates/leitstelle/create.html @@ -1,11 +1,64 @@ -{% extends 'leitstelle/base.html' %} +{% extends 'main/base.html' %} {% block content %} -
-

Neuer Einsatz

-

test

-
+
+

Einsatzgenerierung

+
+
+
+
+

Stichwort:

+ +
+
+ +
+ +
+
+

Freitext

+ +
+
+
+ + + +

Fahrzeuge

+
+ {% for fz in fz %} +
+ {{ fz.3 }} - {{ fz.2 }} + +
+ {% endfor %} +
+ + + ABBRUCH +
+
+ {% endblock %} \ No newline at end of file diff --git a/leitstelle/templates/leitstelle/index.html b/leitstelle/templates/leitstelle/index.html index 2ca9784..a93f288 100755 --- a/leitstelle/templates/leitstelle/index.html +++ b/leitstelle/templates/leitstelle/index.html @@ -1,16 +1,14 @@ -{% extends 'leitstelle/base.html' %} +{% extends 'main/base.html' %} {% block content %} -
- -

Alarmierung
erstellen

+
diff --git a/leitstelle/templates/leitstelle/setStation.html b/leitstelle/templates/leitstelle/setStation.html new file mode 100755 index 0000000..2828e0d --- /dev/null +++ b/leitstelle/templates/leitstelle/setStation.html @@ -0,0 +1,25 @@ +{% extends 'main/base.html' %} + + +{% block content %} + +
+

Wache wählen

+
+
+

Feuerwehr:

+ +
+ + + ABBRUCH +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/leitstelle/urls.py b/leitstelle/urls.py index a7728ae..2e7dedc 100755 --- a/leitstelle/urls.py +++ b/leitstelle/urls.py @@ -5,4 +5,5 @@ from . import views urlpatterns = [ path("", views.index, name="leitstelle"), path("create/", views.create, name="create"), + path("wache_setzen/", views.setStation, name="setStation"), ] \ No newline at end of file diff --git a/leitstelle/views.py b/leitstelle/views.py index 8f1cae9..f2116c3 100755 --- a/leitstelle/views.py +++ b/leitstelle/views.py @@ -1,8 +1,15 @@ from django.shortcuts import render +from main.models import alarmierung_SW, fahrzeug, leitstelle # Create your views here. def index(request): return render(request, 'leitstelle/index.html') def create(request): - return render(request, 'leitstelle/create.html') \ No newline at end of file + sw_request = alarmierung_SW.objects.all().values_list() + fz_request = fahrzeug.objects.all().order_by('Funkrufname').values_list() + return render(request, 'leitstelle/create.html', {'sw':sw_request, 'fz':fz_request}) + +def setStation(request): + feuwehr_request = leitstelle.objects.all().order_by('name').values_list() + return render(request, 'leitstelle/setStation.html', {'fw':feuwehr_request}) \ No newline at end of file diff --git a/main/admin.py b/main/admin.py index 2ff64b7..3ba52d6 100755 --- a/main/admin.py +++ b/main/admin.py @@ -1,9 +1,10 @@ from django.contrib import admin -from .models import hours +from .models import * # Register your models here. - -class HoursAdmin(admin.ModelAdmin): - list_display = ("user", "date", "hours", "minutes", "is_ldc", "is_geplant") -admin.site.register(hours, HoursAdmin) +admin.site.register(fahrzeug) +admin.site.register(alarmierung_SW) +admin.site.register(alarmierung) +admin.site.register(feuerwehr) +admin.site.register(leitstelle) \ No newline at end of file diff --git a/main/models.py b/main/models.py index 750c3f5..3b2f353 100755 --- a/main/models.py +++ b/main/models.py @@ -1,11 +1,44 @@ from django.db import models from django.contrib.auth.models import User -# Create your models here. -class hours(models.Model): - user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) - date = models.DateField(auto_now_add=False) - is_ldc = models.BooleanField(default=False) - is_geplant = models.BooleanField(default=False) - hours = models.IntegerField(auto_created=False, default=0) - minutes = models.IntegerField(auto_created=False, default=0) \ No newline at end of file + +# FEUERWEHR +class feuerwehr(models.Model): + name = models.CharField(max_length=50) + + def __str__(self): + return self.name + +# FAHRZEUGE +class fahrzeug(models.Model): + fw = models.ForeignKey(feuerwehr, on_delete=models.CASCADE, name="Standort", null=True) + kürzel = models.CharField(max_length=50, name="kürzel", default="") + fn = models.CharField(max_length=20, name="Funkrufname", default="") + + def __str__(self): + return self.Standort.name + " -- " + str(self.Funkrufname) + " -- " + str(self.kürzel) + +# STICHWORT +class alarmierung_SW(models.Model): + kürzel = models.CharField(max_length=20) + beschreibung = models.CharField(max_length=50) + + def __str__(self): + return self.kürzel + " -- " + str(self.beschreibung) + +# ALARMIERUNG +class alarmierung(models.Model): + timestamp = models.DateTimeField(auto_created=True) + sw = models.ForeignKey(alarmierung_SW, on_delete=models.CASCADE, name="Stichwort") + ft = models.CharField(max_length=100, null=True) + fz = models.CharField(max_length=100, null=True) + fw = models.ForeignKey(feuerwehr, on_delete=models.CASCADE, name="Standort") + + def __str__(self): + return str(self.timestamp) + " -- " + str(self.Stichwort.kürzel) + " -- " + str(self.ft) + " -- " + str(self.fz) + " -- " + str(self.Standort.name) + +class leitstelle(models.Model): + name = models.CharField(max_length=50) + fw = models.CharField(max_length=150) + def __str__(self): + return self.name \ No newline at end of file diff --git a/main/static/css/styles.css b/main/static/css/styles.css index abd5674..fca7d57 100755 --- a/main/static/css/styles.css +++ b/main/static/css/styles.css @@ -33,4 +33,4 @@ img.pb { .form-control { height: 2.5rem; -} \ No newline at end of file +} diff --git a/main/templates/main/base.html b/main/templates/main/base.html index 385b6f3..a5a7c00 100755 --- a/main/templates/main/base.html +++ b/main/templates/main/base.html @@ -13,6 +13,7 @@ + EmergencyControlCenter - Index @@ -23,8 +24,8 @@ {% include "main/header.html" %} - {% block content %} - {% endblock %} + {% block content %} + {% endblock %}
diff --git a/main/templates/main/header.html b/main/templates/main/header.html index f7c9921..c35fda1 100755 --- a/main/templates/main/header.html +++ b/main/templates/main/header.html @@ -1,7 +1,7 @@ {% load static %}
-