Für Proben, Requisiten, Kostüme und schlussendlich die Aufführung hoffen wir auf Ihre Spenden.
Kontoinhaberin: Selbstbestimmt Studieren e.V.
diff --git a/website/__pycache__/models.cpython-311.pyc b/website/__pycache__/models.cpython-311.pyc
index 0c85080..ed4701d 100644
Binary files a/website/__pycache__/models.cpython-311.pyc and b/website/__pycache__/models.cpython-311.pyc differ
diff --git a/website/__pycache__/views.cpython-311.pyc b/website/__pycache__/views.cpython-311.pyc
index 9d41b60..6d6a6c1 100644
Binary files a/website/__pycache__/views.cpython-311.pyc and b/website/__pycache__/views.cpython-311.pyc differ
diff --git a/website/migrations/0008_rename_anzahl_reservierung_anzahl_b_and_more.py b/website/migrations/0008_rename_anzahl_reservierung_anzahl_b_and_more.py
new file mode 100644
index 0000000..58ca13f
--- /dev/null
+++ b/website/migrations/0008_rename_anzahl_reservierung_anzahl_b_and_more.py
@@ -0,0 +1,35 @@
+# Generated by Django 4.2.3 on 2023-07-25 00:21
+
+import django.core.validators
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('website', '0007_alter_essen_auswahl'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='reservierung',
+ old_name='anzahl',
+ new_name='anzahl_b',
+ ),
+ migrations.RemoveField(
+ model_name='reservierung',
+ name='aufführung',
+ ),
+ migrations.AddField(
+ model_name='reservierung',
+ name='anzahl_l',
+ field=models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(7)]),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='reservierung',
+ name='anzahl_w',
+ field=models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(7)]),
+ preserve_default=False,
+ ),
+ ]
diff --git a/website/migrations/0009_alter_reservierung_anzahl_b.py b/website/migrations/0009_alter_reservierung_anzahl_b.py
new file mode 100644
index 0000000..b8a1702
--- /dev/null
+++ b/website/migrations/0009_alter_reservierung_anzahl_b.py
@@ -0,0 +1,19 @@
+# Generated by Django 4.2.3 on 2023-07-25 00:25
+
+import django.core.validators
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('website', '0008_rename_anzahl_reservierung_anzahl_b_and_more'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='reservierung',
+ name='anzahl_b',
+ field=models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(7)]),
+ ),
+ ]
diff --git a/website/migrations/0010_alter_reservierung_anzahl_l_and_more.py b/website/migrations/0010_alter_reservierung_anzahl_l_and_more.py
new file mode 100644
index 0000000..2d69fd0
--- /dev/null
+++ b/website/migrations/0010_alter_reservierung_anzahl_l_and_more.py
@@ -0,0 +1,24 @@
+# Generated by Django 4.2.3 on 2023-07-25 00:25
+
+import django.core.validators
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('website', '0009_alter_reservierung_anzahl_b'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='reservierung',
+ name='anzahl_l',
+ field=models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(7)]),
+ ),
+ migrations.AlterField(
+ model_name='reservierung',
+ name='anzahl_w',
+ field=models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(7)]),
+ ),
+ ]
diff --git a/website/migrations/__pycache__/0008_rename_anzahl_reservierung_anzahl_b_and_more.cpython-311.pyc b/website/migrations/__pycache__/0008_rename_anzahl_reservierung_anzahl_b_and_more.cpython-311.pyc
new file mode 100644
index 0000000..2d5ab6a
Binary files /dev/null and b/website/migrations/__pycache__/0008_rename_anzahl_reservierung_anzahl_b_and_more.cpython-311.pyc differ
diff --git a/website/migrations/__pycache__/0009_alter_reservierung_anzahl_b.cpython-311.pyc b/website/migrations/__pycache__/0009_alter_reservierung_anzahl_b.cpython-311.pyc
new file mode 100644
index 0000000..a1032b8
Binary files /dev/null and b/website/migrations/__pycache__/0009_alter_reservierung_anzahl_b.cpython-311.pyc differ
diff --git a/website/migrations/__pycache__/0010_alter_reservierung_anzahl_l_and_more.cpython-311.pyc b/website/migrations/__pycache__/0010_alter_reservierung_anzahl_l_and_more.cpython-311.pyc
new file mode 100644
index 0000000..31a9e48
Binary files /dev/null and b/website/migrations/__pycache__/0010_alter_reservierung_anzahl_l_and_more.cpython-311.pyc differ
diff --git a/website/models.py b/website/models.py
index 7bb833c..295008b 100644
--- a/website/models.py
+++ b/website/models.py
@@ -33,13 +33,12 @@ class EssenForm(ModelForm):
model = Essen
fields = ["name", "mail", "auswahl",]
-AufführungWahl = [ ("BOEBLINGEN", "Böblingen"), ("WUPPERTAL", "Wuppertal"), ("LUEBECK", "Lübeck")]
-
class Reservierung(models.Model):
name = models.CharField(max_length=250)
mail = models.EmailField()
- aufführung = models.CharField(max_length=12, blank=False, choices=AufführungWahl)
- anzahl = models.PositiveIntegerField(validators=[MinValueValidator(0), MaxValueValidator(7)])
+ anzahl_b = models.PositiveIntegerField(validators=[MinValueValidator(0), MaxValueValidator(7)], default=0)
+ anzahl_w = models.PositiveIntegerField(validators=[MinValueValidator(0), MaxValueValidator(7)], default=0)
+ anzahl_l = models.PositiveIntegerField(validators=[MinValueValidator(0), MaxValueValidator(7)], default=0)
timestamp = models.DateTimeField(auto_now_add=True)
def __str__(self):
@@ -48,4 +47,4 @@ class Reservierung(models.Model):
class ReservierungForm(ModelForm):
class Meta:
model = Reservierung
- fields = ["name", "mail", "aufführung", "anzahl"]
+ fields = ["name", "mail", "anzahl_b", "anzahl_w", "anzahl_l"]
diff --git a/website/views.py b/website/views.py
index 4e90018..060becb 100644
--- a/website/views.py
+++ b/website/views.py
@@ -1,6 +1,8 @@
from django.shortcuts import render
-from .models import ContactForm, EssenForm, ReservierungForm
+from django.db.models import Sum
+from .models import ContactForm, EssenForm, ReservierungForm, Reservierung, Essen
from django.core.mail import send_mail
+from django import forms
# Create your views here.
def homepage(request):
@@ -43,6 +45,30 @@ def impressum(request):
def datenschutz(request):
return render(request, 'datenschutz.html')
+def init_context():
+ essen_form = EssenForm()
+ summe_essen_b = Essen.objects.filter(auswahl__exact="ESSEN_B").count()
+ summe_essen_w = Essen.objects.filter(auswahl__exact="ESSEN_W").count()
+ summe_essen_l = Essen.objects.filter(auswahl__exact="ESSEN_L").count()
+ reservierung_form = ReservierungForm()
+ summe_b = Reservierung.objects.aggregate(Sum("anzahl_b"))['anzahl_b__sum']
+ if summe_b == None: summe_b = 0
+ summe_w = Reservierung.objects.aggregate(Sum("anzahl_w"))['anzahl_w__sum']
+ if summe_w == None: summe_w = 0
+ summe_l = Reservierung.objects.aggregate(Sum("anzahl_l"))['anzahl_l__sum']
+ if summe_l == None: summe_l = 0
+ if summe_b >= 100:
+ reservierung_form.fields["anzahl_b"].widget = forms.HiddenInput()
+ reservierung_form.fields["anzahl_b"].initial = 0
+ if summe_w >= 100:
+ reservierung_form.fields["anzahl_w"].widget = forms.HiddenInput()
+ reservierung_form.fields["anzahl_w"].initial = 0
+ if summe_l >= 100:
+ reservierung_form.fields["anzahl_l"].widget = forms.HiddenInput()
+ reservierung_form.fields["anzahl_l"].initial = 0
+ return {'essen_form': essen_form, 'reservierung_form': reservierung_form, 'summe_b': summe_b, 'summe_w': summe_w,'summe_l': summe_l,'summe_essen_b': summe_essen_b,'summe_essen_w': summe_essen_w,'summe_essen_l': summe_essen_l,}
+
+
def anmeldung(request):
if request.method == 'POST' and request.POST.get("form_type") == "essen":
essen_form = EssenForm(request.POST)
@@ -55,7 +81,5 @@ def anmeldung(request):
reservierung_form.save()
return render(request, 'anmeldung.html')
if request.method == 'GET':
- essen_form = EssenForm()
- reservierung_form = ReservierungForm()
- context = {'essen_form': essen_form, 'reservierung_form': reservierung_form}
+ context = init_context()
return render(request, 'anmeldung.html', context)