From 541f7cc0804923feafb674e427bc7418952c63c8 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Sun, 22 Sep 2019 22:34:36 +0200 Subject: [PATCH] include basic functionality --- jdav_web/ludwigsburgalpin/models.py | 14 ++++++++++++++ .../templates/ludwigsburgalpin/published.html | 3 +++ jdav_web/ludwigsburgalpin/views.py | 19 ++++++++++++++----- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 jdav_web/ludwigsburgalpin/templates/ludwigsburgalpin/published.html diff --git a/jdav_web/ludwigsburgalpin/models.py b/jdav_web/ludwigsburgalpin/models.py index 5cce047..6dcbfd8 100644 --- a/jdav_web/ludwigsburgalpin/models.py +++ b/jdav_web/ludwigsburgalpin/models.py @@ -4,6 +4,13 @@ from django.db import models class Group(models.Model): name = models.CharField('Name', max_length=50) + class Meta: + verbose_name = 'Gruppe' + verbose_name_plural = 'Gruppen' + + def __str__(self): + return self.name + # Create your models here. class Termin(models.Model): @@ -12,3 +19,10 @@ class Termin(models.Model): end_date = models.DateField('Bis') group = models.ForeignKey('ludwigsburgalpin.Group', verbose_name='Gruppe') + + def __str__(self): + return "{} {}".format(self.title, str(self.group)) + + class Meta: + verbose_name = 'Termin' + verbose_name_plural = 'Termine' diff --git a/jdav_web/ludwigsburgalpin/templates/ludwigsburgalpin/published.html b/jdav_web/ludwigsburgalpin/templates/ludwigsburgalpin/published.html new file mode 100644 index 0000000..d757994 --- /dev/null +++ b/jdav_web/ludwigsburgalpin/templates/ludwigsburgalpin/published.html @@ -0,0 +1,3 @@ +

Termin erfolgreich eingereicht

+ +

Hier kannst du einen neuen Termin hinzufügen.

diff --git a/jdav_web/ludwigsburgalpin/views.py b/jdav_web/ludwigsburgalpin/views.py index f75c1e6..14e6336 100644 --- a/jdav_web/ludwigsburgalpin/views.py +++ b/jdav_web/ludwigsburgalpin/views.py @@ -1,6 +1,8 @@ from django.shortcuts import render from django import forms from django.http import HttpResponseRedirect +from .models import Group, Termin + class TerminForm(forms.Form): title = forms.CharField(label='Termin') @@ -8,10 +10,8 @@ class TerminForm(forms.Form): label='Von') end_date = forms.DateField(widget=forms.SelectDateWidget(), label='Bis') - group = forms.ChoiceField(label='Gruppe', - choices=[('Jugend', 'Jugend'), - ('ASG', 'ASG'), - ('Ü50-Gruppe', 'Ü50-Gruppe')]) + group = forms.ModelChoiceField(label='Gruppe', + queryset=Group.objects.all()) # Create your views here. @@ -19,7 +19,16 @@ def index(request): if request.method == 'POST': form = TerminForm(request.POST) if form.is_valid(): - return HttpResponseRedirect('/') + termin = Termin(title=form.cleaned_data["title"], + start_date=form.cleaned_data["start_date"], + end_date=form.cleaned_data["end_date"], + group=form.cleaned_data["group"]) + termin.save() + return published(request) else: form = TerminForm() return render(request, 'ludwigsburgalpin/termine.html', {'form': form.as_table()}) + + +def published(request): + return render(request, 'ludwigsburgalpin/published.html')