diff --git a/main/migrations/0018_alter_info_cleaning_alter_info_gast.py b/main/migrations/0018_alter_info_cleaning_alter_info_gast.py
new file mode 100644
index 0000000..36b564a
--- /dev/null
+++ b/main/migrations/0018_alter_info_cleaning_alter_info_gast.py
@@ -0,0 +1,24 @@
+# Generated by Django 5.0.4 on 2024-04-09 12:48
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0017_alter_week_place'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='info',
+ name='cleaning',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='CleanPerson', to='main.group'),
+ ),
+ migrations.AlterField(
+ model_name='info',
+ name='gast',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='gastPerson', to='main.group'),
+ ),
+ ]
diff --git a/main/migrations/0019_alter_service_date_1_alter_service_speaker_1_and_more.py b/main/migrations/0019_alter_service_date_1_alter_service_speaker_1_and_more.py
new file mode 100644
index 0000000..1fd404a
--- /dev/null
+++ b/main/migrations/0019_alter_service_date_1_alter_service_speaker_1_and_more.py
@@ -0,0 +1,34 @@
+# Generated by Django 5.0.4 on 2024-04-09 12:57
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0018_alter_info_cleaning_alter_info_gast'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='service',
+ name='date_1',
+ field=models.DateField(null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='speaker_1',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='speaker_1', to='main.contributors'),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='time_1',
+ field=models.TimeField(null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_1',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom')], null=True),
+ ),
+ ]
diff --git a/main/migrations/0020_alter_group_nummer.py b/main/migrations/0020_alter_group_nummer.py
new file mode 100644
index 0000000..88e0cd9
--- /dev/null
+++ b/main/migrations/0020_alter_group_nummer.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.0.4 on 2024-04-09 13:16
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0019_alter_service_date_1_alter_service_speaker_1_and_more'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='group',
+ name='nummer',
+ field=models.CharField(max_length=10),
+ ),
+ ]
diff --git a/main/migrations/0021_rename_nummer_group_name.py b/main/migrations/0021_rename_nummer_group_name.py
new file mode 100644
index 0000000..55e2847
--- /dev/null
+++ b/main/migrations/0021_rename_nummer_group_name.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.0.4 on 2024-04-09 13:16
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0020_alter_group_nummer'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='group',
+ old_name='nummer',
+ new_name='Name',
+ ),
+ ]
diff --git a/main/migrations/0022_alter_service_type_1_alter_service_type_2_and_more.py b/main/migrations/0022_alter_service_type_1_alter_service_type_2_and_more.py
new file mode 100644
index 0000000..9c1357e
--- /dev/null
+++ b/main/migrations/0022_alter_service_type_1_alter_service_type_2_and_more.py
@@ -0,0 +1,43 @@
+# Generated by Django 5.0.4 on 2024-04-09 13:58
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0021_rename_nummer_group_name'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='service',
+ name='type_1',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_2',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_3',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_4',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_5',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='service',
+ name='type_6',
+ field=models.IntegerField(choices=[(1, 'Saal'), (2, 'Zoom'), (3, 'Gruppe')], null=True),
+ ),
+ ]
diff --git a/main/models.py b/main/models.py
index cbdcd52..06d7cd9 100644
--- a/main/models.py
+++ b/main/models.py
@@ -22,10 +22,10 @@ class contributors(models.Model):
return self.first_name
class group(models.Model):
- nummer = models.IntegerField(auto_created=False)
+ Name = models.CharField(max_length=10)
def __str__(self):
- return str(self.nummer)
+ return str(self.Name)
class week(models.Model):
@@ -39,12 +39,13 @@ class service(models.Model):
TYPES = (
(1, 'Saal'),
(2, 'Zoom'),
+ (3, 'Gruppe'),
)
week = models.ForeignKey(week, on_delete=models.CASCADE)
- date_1 = models.DateField(auto_now_add=False)
- time_1 = models.TimeField(auto_now_add=False)
- type_1 = models.IntegerField(auto_created=False, choices=TYPES)
- speaker_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_1")
+ date_1 = models.DateField(auto_now_add=False, null=True)
+ time_1 = models.TimeField(auto_now_add=False, null=True)
+ type_1 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
+ speaker_1 = models.ForeignKey(contributors, on_delete=models.CASCADE, related_name="speaker_1", null=True)
date_2 = models.DateField(auto_now_add=False, null=True)
time_2 = models.TimeField(auto_now_add=False, null=True)
type_2 = models.IntegerField(auto_created=False, choices=TYPES, null=True)
@@ -92,8 +93,8 @@ class regie(models.Model):
class info(models.Model):
week = models.ForeignKey(week, on_delete=models.CASCADE)
- gast = models.ForeignKey(group, on_delete=models.CASCADE, related_name="gastPerson")
- cleaning = models.ForeignKey(group, on_delete=models.CASCADE, related_name="CleanPerson")
+ gast = models.ForeignKey(group, on_delete=models.CASCADE, related_name="gastPerson", null=True)
+ cleaning = models.ForeignKey(group, on_delete=models.CASCADE, related_name="CleanPerson", null=True)
def __str__(self):
return str(self.week)
\ No newline at end of file
diff --git a/main/templates/main/index.html b/main/templates/main/index.html
index a567d5a..aa813d7 100644
--- a/main/templates/main/index.html
+++ b/main/templates/main/index.html
@@ -58,10 +58,10 @@
Gastfreundschaft
Gruppe:
-
@@ -69,10 +69,10 @@
Reinigung
Gruppe:
-
-
+
+
{% for i in gruppen_data %}
-
+
{% endfor %}
@@ -101,21 +101,22 @@
|
1. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -125,21 +126,22 @@
2. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -149,21 +151,22 @@
3. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -173,21 +176,22 @@
4. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -197,21 +201,22 @@
5. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -221,21 +226,22 @@
6. Dienst |
-
-
+
+
|
-
-
+
+
+
|
-
-
+
+
{% for i in sm %}
-
+
{% endfor %}
|
@@ -270,10 +276,10 @@
1.
-
-
+
+
{% for i in saal_ordner %}
-
+
{% endfor %}
@@ -283,10 +289,10 @@
|
2.
-
-
+
+
{% for i in saal_ordner %}
-
+
{% endfor %}
@@ -304,10 +310,10 @@
|
1.
-
-
+
+
{% for i in ordner %}
-
+
{% endfor %}
@@ -317,10 +323,10 @@
|
2.
-
-
+
+
{% for i in ordner %}
-
+
{% endfor %}
@@ -356,10 +362,10 @@
|
1.
-
-
+
+
{% for i in anlage %}
-
+
{% endfor %}
@@ -369,10 +375,10 @@
|
2.
-
-
+
+
{% for i in anlage %}
-
+
{% endfor %}
@@ -392,10 +398,10 @@
|
1.
-
-
+
+
{% for i in zoom %}
-
+
{% endfor %}
@@ -405,10 +411,10 @@
|
2.
-
-
+
+
{% for i in zoom %}
-
+
{% endfor %}
@@ -429,10 +435,10 @@
|
1.
-
+
{% for i in buehne %}
-
+
{% endfor %}
@@ -442,7 +448,7 @@
!Technik_END!
-
+
diff --git a/main/views.py b/main/views.py
index 13d3ccd..e85700c 100644
--- a/main/views.py
+++ b/main/views.py
@@ -49,15 +49,87 @@ def index(request):
strDate = url_date.strftime("%d.%m.%y")
- # Abfrage der Datenbanken um Informationen einzublenden
+ # AB HIER WIRD DAS SPEICHERN BEHANDELT
+ # PRÜFEN OB DAS FORMULAR GESENDET WURDE UND AUCH DER BUTTON VERWENDET WURDE
+ if request.method == "POST":
+ if 'formsend' in request.POST:
+
+ # ÜBERPRÜFEN OB DIE "WEEK" SCHON EINEN EINTRAG HAT - SONST ANLEGEN
+ MainModel.week.objects.create(date_of_monday=strDate) if MainModel.week.objects.filter(date_of_monday=strDate).count() < 1 else ...
+
+ # FUNKTION ZUM VERGLEICH DER BEIDEN DATENSÄTZE
+ def check_is_same(a, b):
+ return True if a == b else False
+
+ # Abfrage der Datenbanken um Informationen abzugleichen
+ gruppen_data = MainModel.group.objects.all()
+ persons = MainModel.contributors.objects.all()
+ steward_data = MainModel.steward.objects.get(week__date_of_monday=strDate) if MainModel.steward.objects.filter(week__date_of_monday=strDate).count() > 0 else None
+ regie_data = MainModel.regie.objects.get(week__date_of_monday=strDate) if MainModel.regie.objects.filter(week__date_of_monday=strDate).count() > 0 else None
+ info_data = MainModel.info.objects.get(week__date_of_monday=strDate) if MainModel.info.objects.filter(week__date_of_monday=strDate).count() > 0 else None
+ service_data = MainModel.service.objects.get(week__date_of_monday=strDate) if MainModel.service.objects.filter(week__date_of_monday=strDate).count() > 0 else None
+
+ # Abfragen der POST-Daten
+ post_info = request.POST.getlist("info")
+ post_service_date = request.POST.getlist("smd")
+ post_service_time = request.POST.getlist("smt")
+ post_service_type = request.POST.getlist("smm")
+ post_service_speaker = request.POST.getlist("sms")
+ post_steward = request.POST.getlist("ods")
+ post_regie = request.POST.getlist("regie")
+
+ # INFOS
+ if info_data == None:
+ info_data = MainModel.info.objects.create(
+ week = MainModel.week.objects.get(date_of_monday=strDate),
+ gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None,
+ cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None,
+ )
+ else:
+ info_data.gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None
+ info_data.cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None
+ info_data.save()
+
+ # PREDIGTDIENST
+ if service_data == None: service_data = MainModel.service.objects.create(week = MainModel.week.objects.get(date_of_monday=strDate))
+ for i in range(1, 7):
+ # Datum
+ service_data.__setattr__("date_"+str(i), post_service_date[i-1]) if post_service_date[i-1] != "" else service_data.__setattr__("date_"+str(i), None)
+ # Uhrzeit
+ service_data.__setattr__("time_"+str(i), post_service_time[i-1]) if post_service_time[i-1] != "" else service_data.__setattr__("time_"+str(i), None)
+ # Type
+ service_data.__setattr__("type_"+str(i), post_service_type[i-1]) if post_service_type[i-1] != "0" else service_data.__setattr__("type_"+str(i), None)
+ # Leiter
+ service_data.__setattr__("speaker_"+str(i), persons.get(id=post_service_speaker[i-1])) if post_service_speaker[i-1] != "0" else service_data.__setattr__("speaker_"+str(i), None)
+ service_data.save()
+ # ORDNUNGSIENST
+ if steward_data == None: steward_data = MainModel.steward.objects.create(week = MainModel.week.objects.get(date_of_monday=strDate))
+ steward_data.hall_1 = persons.get(id=post_steward[0]) if post_steward[0] != "0" else None
+ steward_data.hall_2 = persons.get(id=post_steward[1]) if post_steward[1] != "0" else None
+ steward_data.foyer_1 = persons.get(id=post_steward[2]) if post_steward[2] != "0" else None
+ steward_data.foyer_2 = persons.get(id=post_steward[3]) if post_steward[3] != "0" else None
+ steward_data.save()
+
+ # TECHNIK
+ if regie_data == None: regie_data = MainModel.regie.objects.create(week = MainModel.week.objects.get(date_of_monday=strDate))
+ regie_data.regie_1 = persons.get(id=post_regie[0]) if post_regie[0] != "0" else None
+ regie_data.regie_2 = persons.get(id=post_regie[1]) if post_regie[1] != "0" else None
+ regie_data.zoom_1 = persons.get(id=post_regie[2]) if post_regie[2] != "0" else None
+ regie_data.zoom_2 = persons.get(id=post_regie[3]) if post_regie[3] != "0" else None
+ regie_data.stage = persons.get(id=post_regie[4]) if post_regie[4] != "0" else None
+ regie_data.save()
+
+
+
+
+ # Abfrage der Datenbanken um Informationen einzublenden
steward_data = MainModel.steward.objects.filter(week__date_of_monday=strDate)[0] if MainModel.steward.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
regie_data = MainModel.regie.objects.filter(week__date_of_monday=strDate)[0] if MainModel.regie.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
info_data = MainModel.info.objects.filter(week__date_of_monday=strDate)[0] if MainModel.info.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
gruppen_data = MainModel.group.objects.all()
persons = MainModel.contributors.objects.all()
service_data = MainModel.service.objects.filter(week__date_of_monday=strDate)[0] if MainModel.service.objects.filter(week__date_of_monday=strDate).count() > 0 else {}
-
return render(request, 'main/index.html', {'actual' : actual,
'error' : error,
'date': strDate,
|