add question

This commit is contained in:
erichhasl
2017-11-19 00:52:13 +01:00
parent 75903f8ed6
commit 7e98dba2d2
6 changed files with 66 additions and 3 deletions
+7 -1
View File
@@ -1,5 +1,5 @@
from django.contrib import admin
from .models import Betrieb, Partei, PresidentCandidate
from .models import Betrieb, Partei, PresidentCandidate, Question
# Register your models here.
@@ -17,6 +17,12 @@ class PresidentAdmin(admin.ModelAdmin):
list_display = ('name', 'confirmed')
list_filter = ('confirmed',)
class QuestionAdmin(admin.ModelAdmin):
list_display = ('subject', 'answered')
list_filter = ('answered',)
admin.site.register(Betrieb, BetriebAdmin)
admin.site.register(Partei, ParteiAdmin)
admin.site.register(PresidentCandidate, PresidentAdmin)
admin.site.register(Question, QuestionAdmin)
+14
View File
@@ -45,3 +45,17 @@ class PresidentCandidate(models.Model):
class Meta:
verbose_name = 'Präsidentschaftskandidat'
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>
</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 %}
@@ -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 %}
+2 -1
View File
@@ -7,5 +7,6 @@ urlpatterns = [
url(r'^betrieb/anmelden', views.betrieb_new, name='betrieb_new'),
url(r'^partei/gruenden', views.partei_new, name='partei_new'),
url(r'^praesident/kandidieren', views.praesident_werden,
name='praesident_werden')
name='praesident_werden'),
url(r'^frage/stellen', views.question_new, name='question_new')
]
+22 -1
View File
@@ -1,6 +1,6 @@
from django.shortcuts import render
from django import forms
from .models import Betrieb, Partei, PresidentCandidate
from .models import Betrieb, Partei, PresidentCandidate, Question
class BetriebForm(forms.Form):
@@ -24,6 +24,12 @@ class PresidentForm(forms.Form):
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.
def index(request):
return render(request, "meingoethopia/index.html")
@@ -77,5 +83,20 @@ def praesident_werden(request):
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):
return render(request, "meingoethopia/confirmed.html")