| @@ -1,5 +1,5 @@ | |||||
| from django.contrib import admin | from django.contrib import admin | ||||
| from .models import Betrieb, Partei, PresidentCandidate | |||||
| from .models import Betrieb, Partei, PresidentCandidate, Question | |||||
| # Register your models here. | # Register your models here. | ||||
| @@ -17,6 +17,12 @@ class PresidentAdmin(admin.ModelAdmin): | |||||
| list_display = ('name', 'confirmed') | list_display = ('name', 'confirmed') | ||||
| list_filter = ('confirmed',) | list_filter = ('confirmed',) | ||||
| class QuestionAdmin(admin.ModelAdmin): | |||||
| list_display = ('subject', 'answered') | |||||
| list_filter = ('answered',) | |||||
| admin.site.register(Betrieb, BetriebAdmin) | admin.site.register(Betrieb, BetriebAdmin) | ||||
| admin.site.register(Partei, ParteiAdmin) | admin.site.register(Partei, ParteiAdmin) | ||||
| admin.site.register(PresidentCandidate, PresidentAdmin) | admin.site.register(PresidentCandidate, PresidentAdmin) | ||||
| admin.site.register(Question, QuestionAdmin) | |||||
| @@ -45,3 +45,17 @@ class PresidentCandidate(models.Model): | |||||
| class Meta: | class Meta: | ||||
| verbose_name = 'Präsidentschaftskandidat' | verbose_name = 'Präsidentschaftskandidat' | ||||
| verbose_name_plural = 'Präsidentschaftskandidaten' | verbose_name_plural = 'Präsidentschaftskandidaten' | ||||
| class Question(models.Model): | |||||
| subject = models.CharField('Betreff', max_length=100) | |||||
| email = models.EmailField('Kontakt Email') | |||||
| content = models.TextField('Inhalt') | |||||
| answered = models.BooleanField('Beantwortet', default=False) | |||||
| def __str__(self): | |||||
| return str(self.subject) | |||||
| class Meta: | |||||
| verbose_name = 'Frage' | |||||
| verbose_name_plural = 'Fragen' | |||||
| @@ -14,4 +14,11 @@ kandidieren?</p> | |||||
| <li><a href="{% url "meingoethopia:praesident_werden" %}">Als Präsidentin aufstellen lassen</a></li> | <li><a href="{% url "meingoethopia:praesident_werden" %}">Als Präsidentin aufstellen lassen</a></li> | ||||
| </ul> | </ul> | ||||
| <p>Hast du eine Frage, die hier nicht beantwortet wird?<br> | |||||
| Stell sie doch einfach! Unser Team ist gerne für dich da.<p> | |||||
| <ul class="meinlinks"> | |||||
| <li><a href="{% url "meingoethopia:question_new" %}">Frage stellen</a></li> | |||||
| </ul> | |||||
| {% endblock %} | {% endblock %} | ||||
| @@ -0,0 +1,14 @@ | |||||
| {% extends "public/default.html" %} | |||||
| {% block content %} | |||||
| <p>Hier kannst Du eine Frage stellen. Vielleicht taucht sie ja bald im neuen FAQ auf!</p> | |||||
| <form action="" method="post"> | |||||
| {% csrf_token %} | |||||
| <table> | |||||
| {{ form.as_table }} | |||||
| </table> | |||||
| <input type="submit" value="Frage abschicken" /> | |||||
| </form> | |||||
| {% endblock %} | |||||
| @@ -7,5 +7,6 @@ urlpatterns = [ | |||||
| url(r'^betrieb/anmelden', views.betrieb_new, name='betrieb_new'), | url(r'^betrieb/anmelden', views.betrieb_new, name='betrieb_new'), | ||||
| url(r'^partei/gruenden', views.partei_new, name='partei_new'), | url(r'^partei/gruenden', views.partei_new, name='partei_new'), | ||||
| url(r'^praesident/kandidieren', views.praesident_werden, | url(r'^praesident/kandidieren', views.praesident_werden, | ||||
| name='praesident_werden') | |||||
| name='praesident_werden'), | |||||
| url(r'^frage/stellen', views.question_new, name='question_new') | |||||
| ] | ] | ||||
| @@ -1,6 +1,6 @@ | |||||
| from django.shortcuts import render | from django.shortcuts import render | ||||
| from django import forms | from django import forms | ||||
| from .models import Betrieb, Partei, PresidentCandidate | |||||
| from .models import Betrieb, Partei, PresidentCandidate, Question | |||||
| class BetriebForm(forms.Form): | class BetriebForm(forms.Form): | ||||
| @@ -24,6 +24,12 @@ class PresidentForm(forms.Form): | |||||
| motivation = forms.CharField(label='Motivation') | motivation = forms.CharField(label='Motivation') | ||||
| class QuestionForm(forms.Form): | |||||
| subject = forms.CharField(label='Thema', max_length=100) | |||||
| email = forms.EmailField(label='Kontakt Email') | |||||
| content = forms.CharField(label='Frage') | |||||
| # Create your views here. | # Create your views here. | ||||
| def index(request): | def index(request): | ||||
| return render(request, "meingoethopia/index.html") | return render(request, "meingoethopia/index.html") | ||||
| @@ -77,5 +83,20 @@ def praesident_werden(request): | |||||
| return render(request, "meingoethopia/president.html", {'form': form}) | return render(request, "meingoethopia/president.html", {'form': form}) | ||||
| def question_new(request): | |||||
| if request.method == 'POST': | |||||
| form = QuestionForm(request.POST) | |||||
| if form.is_valid(): | |||||
| question = Question(subject=form.cleaned_data.get('subject'), | |||||
| email=form.cleaned_data.get('email'), | |||||
| content=form.cleaned_data.get('content'), | |||||
| answered=False) | |||||
| question.save() | |||||
| return render_confirmation(request) | |||||
| else: | |||||
| form = QuestionForm() | |||||
| return render(request, "meingoethopia/question_new.html", {'form': form}) | |||||
| def render_confirmation(request): | def render_confirmation(request): | ||||
| return render(request, "meingoethopia/confirmed.html") | return render(request, "meingoethopia/confirmed.html") | ||||