add question
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 %}
|
||||
@@ -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')
|
||||
]
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user