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 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)
+14
View File
@@ -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 %}
+2 -1
View File
@@ -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')
] ]
+22 -1
View File
@@ -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")