From 23139fbcca3e974ab0e6370d1143e93b92fa5bdb Mon Sep 17 00:00:00 2001 From: Johanna Date: Wed, 3 Dec 2014 09:59:44 +0100 Subject: [PATCH] Forms angepasst und erstellt --- frontend/forms.py | 80 ++++++++++++++++++++++++++++++++++------------ frontend/models.py | 2 +- 2 files changed, 60 insertions(+), 22 deletions(-) diff --git a/frontend/forms.py b/frontend/forms.py index 646e6b8..4953769 100644 --- a/frontend/forms.py +++ b/frontend/forms.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- from django import forms -from frontend.models import Project, PersonGlobalIdentity, PresentationPerson, Presentation +from frontend.models import Project, PersonGlobalIdentity, PresentationPerson, Presentation, PresentationEvent from crispy_forms.helper import FormHelper from crispy_forms.layout import Submit, Layout + from django.forms.models import inlineformset_factory class NewProjectForm(forms.ModelForm): @@ -133,10 +134,59 @@ class PresentationPersonForm(forms.ModelForm): model = PresentationPerson fields = [u'given_name', u'additional_name', u'family_name', u'hshmembership'] -PresentationPersonFormSet = inlineformset_factory(Presentation, PresentationPerson) +class PresentationEventForm(forms.ModelForm): + """ Form for the PresentationEventModel""" + def __init__(self, *args, **kwargs): + super(PresentationPersonForm, self).__init__(*args, **kwargs) + self.helper = FormHelper() + self.helper.form_class = u'form-horizontal' + self.helper.label_class = u'col-lg-2' + self.helper.field_class = u'col-lg-4' + self.helper.form_method = u'post' + self.helper.layout = Layout( + u'date', + u'name', + u'workshop', + u'place', + u'start_date', + u'end_date', + Submit(u'send', u'Create', css_class=u'btn-default') + ) + date = forms.DateField( + label = u"Datum", + required = True , + ) + name = forms.CharField( + label = u"Rahmen der Veranstaltung", + max_length=255, + required = True, + ) + workshop = forms.BooleanField( + label = u"Workshop?", + required = False, + ) + place = forms.CharField( + label = u"Ort", + max_length=255 , + required = True, + ) + start_date = forms.DateField( + label = u"Startdatum", + max_length=255, + required = False, + ) + end_date = forms.DateField( + label = u"Enddatum", + max_length=255, + required = False, + ) + class Meta: + model = PresentationEvent + fields = [u'date', u'name', u'workshop', u'place', u'start_date', u'end_date'] + -class PresentationForm(forms.Form): +class PresentationForm(forms.ModelForm): """ Big form containing all the stuff about the things. """ def __init__(self, *args, **kwargs): super(PresentationForm, self).__init__(*args, **kwargs) @@ -147,32 +197,20 @@ class PresentationForm(forms.Form): self.helper.form_method = u'post' self.helper.layout = Layout( u'title', - u'event_type', + u'type', u'abstract', - u'date', - u'rahmen', - u'workshop', - u'place', - u'startdate', - u'enddate', - u'comments', - u'email', Submit(u'send', u'Abschicken', css_class=u'btn-default') ) pass title = forms.CharField() - event_type = forms.ChoiceField(choices=[(u'new', u'Hauptvortrag'), (u'existing', u'andere Veranstaltung')], initial=u'new', widget=forms.RadioSelect()) + type = forms.ChoiceField(choices=[(u'new', u'Hauptvortrag'), (u'existing', u'andere Veranstaltung')], initial=u'new', widget=forms.RadioSelect()) abstract = forms.CharField() # Event (other event) - date = forms.DateField() - rahmen = forms.CharField() - workshop = forms.BooleanField() - place = forms.CharField() - startdate = forms.DateField() - enddate = forms.DateField() - comments = forms.CharField() email = forms.EmailField() - + + class Meta: + model = Presentation + fields = [u'title', u'type', u'abstract'] diff --git a/frontend/models.py b/frontend/models.py index a8c188f..83dbc43 100644 --- a/frontend/models.py +++ b/frontend/models.py @@ -19,7 +19,7 @@ class Project(models.Model): class Presentation(models.Model): """ Presention Model for PresentationForm""" title = models.CharField(max_length=255) - typ = models.CharField(max_length=255) + type = models.CharField(max_length=255) abstract = models.CharField(max_length=255) class PresentationEvent(models.Model):