Fill form with ServerDatas and Functions

main
Samuel Zielke 2 years ago
parent 3c8e594eb4
commit 497a6d2b5b

@ -3,7 +3,7 @@ from . import models
@admin.register(models.contributors)
class ContributorsAdmin(admin.ModelAdmin):
list_display = ["id", "first_name", "name", "ordner", "saalordner", "anlage", "zoom", "treffpunkt"]
list_display = ["first_name", "name", "ordner", "saalordner", "anlage", "zoom", "buehne", "treffpunkt"]
list_filter = ["ordner", "saalordner", "anlage", "zoom", "treffpunkt"]
admin.site.register(models.week)

@ -0,0 +1,64 @@
# Generated by Django 5.0.4 on 2024-04-08 16:39
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0003_remove_steward_person_steward_foyer_1_and_more'),
]
operations = [
migrations.AddField(
model_name='contributors',
name='buehne',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='regie',
name='regie_1',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='regie1', to='main.contributors'),
),
migrations.AlterField(
model_name='regie',
name='regie_2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='regie2', to='main.contributors'),
),
migrations.AlterField(
model_name='regie',
name='stage',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='stage', to='main.contributors'),
),
migrations.AlterField(
model_name='regie',
name='zoom_1',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='zoom1', to='main.contributors'),
),
migrations.AlterField(
model_name='regie',
name='zoom_2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='zoom2', to='main.contributors'),
),
migrations.AlterField(
model_name='steward',
name='foyer_1',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='foyer1', to='main.contributors'),
),
migrations.AlterField(
model_name='steward',
name='foyer_2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='foyer2', to='main.contributors'),
),
migrations.AlterField(
model_name='steward',
name='hall_1',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='hall1', to='main.contributors'),
),
migrations.AlterField(
model_name='steward',
name='hall_2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='hall2', to='main.contributors'),
),
]

@ -8,6 +8,7 @@ class contributors(models.Model):
ordner = models.BooleanField(default=False)
saalordner = models.BooleanField(default=False)
anlage = models.BooleanField(default=False)
buehne = models.BooleanField(default=False)
zoom = models.BooleanField(default=False)
treffpunkt = models.BooleanField(default=False)

@ -29,9 +29,10 @@
#other { margin: 0.250rem 3.000rem; }
#technik { margin: 0 3.000rem; }
#header { padding-bottom: 2rem; }
select { width: 6rem;}
</style>
<section id="header">
<h2 style="color: black; margin-top: 1rem; margin-bottom: -1rem;"><a href="/main/month/{{ month_links.0 }}"><span class="col-lg-2 col-3 material-symbols-outlined">keyboard_arrow_left</span></a>Woche vom 01.04.24<a href="/main/month/{{ month_links.1 }}"><span class="col-lg-2 col-3 material-symbols-outlined">keyboard_arrow_right</span></a></h2>
<h2 style="color: black; margin-top: 1rem; margin-bottom: -1rem;">{% if not actual %}<a href="/main/?date={{ past_date }}"><span class="col-lg-2 col-3 material-symbols-outlined">keyboard_arrow_left</span></a>{% else %}<span class="col-lg-2 col-3 material-symbols-outlined" style="color: lightgray;">keyboard_arrow_left</span>{% endif %}Woche vom {{ date }}<a href="/main/?date={{ next_date }}"><span class="col-lg-2 col-3 material-symbols-outlined">keyboard_arrow_right</span></a></h2>
</section>
<!-- INFOS -->
@ -77,19 +78,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">1. Dienst</div></td>
<td>
<input type="date" name="smd_1" id="smd_1">
<input type="date" name="smd_1" id="smd_1" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_1" id="smt_1">
</td>
<td>
<select name="smm_1" id="smm_1">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_1" id="sms_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -98,19 +102,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">2. Dienst</div></td>
<td>
<input type="date" name="smd_2" id="smd_2">
<input type="date" name="smd_2" id="smd_2" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_2" id="smt_2">
</td>
<td>
<select name="smm_2" id="smm_2">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_2" id="sms_2">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -119,19 +126,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">3. Dienst</div></td>
<td>
<input type="date" name="smd_3" id="smd_3">
<input type="date" name="smd_3" id="smd_3" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_3" id="smt_3">
</td>
<td>
<select name="smm_3" id="smm_3">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_3" id="sms_3">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -140,19 +150,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">4. Dienst</div></td>
<td>
<input type="date" name="smd_4" id="smd_4">
<input type="date" name="smd_4" id="smd_4" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_4" id="smt_4">
</td>
<td>
<select name="smm_4" id="smm_4">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_4" id="sms_4">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -161,19 +174,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">5. Dienst</div></td>
<td>
<input type="date" name="smd_5" id="smd_5">
<input type="date" name="smd_5" id="smd_5" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_5" id="smt_5">
</td>
<td>
<select name="smm_5" id="smm_5">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_5" id="sms_5">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -182,19 +198,22 @@
<tr>
<td style="width: 2.750rem;"><div class="infobox starttime s">6. Dienst</div></td>
<td>
<input type="date" name="smd_6" id="smd_6">
<input type="date" name="smd_6" id="smd_6" min="{{ date_area.min }}" max="{{ date_area.max }}">
<input type="time" name="smt_6" id="smt_6">
</td>
<td>
<select name="smm_6" id="smm_6">
<option value="0"></option>
<option value="1">Zoom</option>
<option value="2">Saal</option>
</select>
</td>
<td>
<select name="sms_6" id="sms_6">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in sm %}
<option value="{{ i.id }}">{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</td>
</tr>
@ -227,10 +246,12 @@
<!-- 1. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 1: </b>
<b>1. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in saal_ordner %}
<option value="{{ i.id }}"{% if steward_data.hall_1.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -238,16 +259,18 @@
<!-- 2. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 2: </b>
<b>2. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in saal_ordner %}
<option value="{{ i.id }}"{% if steward_data.hall_2.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
</tr>
<!-- ANLAGE -->
<!-- FOYER -->
<tr>
<!-- ZEILEN TITEL -->
<td style="width: 2.750rem;"><div class="infobox starttime t">Foyer</div></td>
@ -257,10 +280,12 @@
<!-- 1. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 1: </b>
<b>1. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in ordner %}
<option value="{{ i.id }}"{% if steward_data.foyer_1.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -268,10 +293,12 @@
<!-- 2. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 2: </b>
<b>2. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in ordner %}
<option value="{{ i.id }}"{% if steward_data.foyer_2.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -305,10 +332,12 @@
<!-- 1. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 1: </b>
<b>1. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in anlage %}
<option value="{{ i.id }}"{% if regie_data.regie_1.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -316,10 +345,12 @@
<!-- 2. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 2: </b>
<b>2. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in anlage %}
<option value="{{ i.id }}"{% if regie_data.regie_2.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -327,20 +358,22 @@
</tr>
<!-- ANLAGE -->
<!-- ZOOM -->
<tr>
<!-- ZEILEN TITEL -->
<td style="width: 2.750rem;"><div class="infobox starttime t">Anlage</div></td>
<td style="width: 2.750rem;"><div class="infobox starttime t">Zoom</div></td>
<!-- ZEILEN INHALT -->
<!-- 1. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 1: </b>
<b>1. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in zoom %}
<option value="{{ i.id }}"{% if regie_data.zoom_1.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -348,10 +381,12 @@
<!-- 2. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 2: </b>
<b>2. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in zoom %}
<option value="{{ i.id }}"{% if regie_data.zoom_2.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>
@ -370,10 +405,12 @@
<!-- 1. PERSON -->
<td>
<p class="theme" style="text-align: left">
<b>Bruder 1: </b>
<b>1. </b>
<select name="ods_1" id="ods_1">
<option value="1">Br. Test</option>
<option value="2">Br. Moini</option>
<option value="0"></option>
{% for i in buehne %}
<option value="{{ i.id }}"{% if regie_data.stage.id == i.id %}selected{% endif %}>{{ i.first_name.0 }}. {{ i.name }}</option>
{% endfor %}
</select>
</p>
</td>

@ -3,5 +3,6 @@ from django.urls import path
from . import views
urlpatterns = [
# path("<str:mondaydate>", views.index, name="index"),
path("", views.index, name="index"),
]

@ -1,7 +1,77 @@
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
import datetime
from . import models as MainModel
def actualMonday():
today = datetime.date.today()
last_monday = today - datetime.timedelta(days=today.weekday())
return last_monday
def FutureyDate(date, FutureWeeks):
date = date + datetime.timedelta(weeks=FutureWeeks)
return date
def PastDate(date, FutureWeeks):
date = date - datetime.timedelta(weeks=FutureWeeks)
return date
def separate_string(input_string):
separated_string = ""
index = 1
for i in input_string:
if index == 2:
separated_string += i + "."
index = 0
else:
separated_string += i
index += 1
return separated_string[:8]
@login_required
def index(request):
return render(request, 'main/index.html')
error = False
if request.GET.get("date"):
actual = False
actualdate = actualMonday()
get_Date = separate_string(request.GET.get("date"))
url_date = datetime.datetime.strptime(get_Date, "%d.%m.%y")
if url_date.date() <= actualdate or url_date.weekday() != 0:
url_date = actualdate
actual = True
error = True
elif url_date.date() == actualdate:
actual = True
else:
url_date = actualMonday()
actual = True
strDate = url_date.strftime("%d.%m.%y")
# Abfrage der Datenbanken um Informationen einzublenden
steward_data = MainModel.steward.objects.filter(week__date_of_monday=strDate)[0]
regie_data = MainModel.regie.objects.filter(week__date_of_monday=strDate)[0]
persons = MainModel.contributors.objects.all()
return render(request, 'main/index.html', {'actual' : actual,
'error' : error,
'date': strDate,
'next_date': FutureyDate(url_date, 1).strftime("%d%m%y"),
'past_date': PastDate(url_date, 1).strftime("%d%m%y"),
'saal_ordner' : persons.filter(saalordner=True),
'ordner' : persons.filter(ordner=True),
'anlage' : persons.filter(anlage=True),
'zoom' : persons.filter(zoom=True),
'buehne' : persons.filter(buehne=True),
'sm' : persons.filter(treffpunkt=True),
'date_area' : {
'min' : str(url_date),
'value' : str(url_date),
'max' : str(FutureyDate(url_date - datetime.timedelta(days=1), 1))},
'steward_data' : steward_data,
'regie_data' : regie_data,
})

Loading…
Cancel
Save

Powered by TurnKey Linux.