Parcourir la source

add question

master
erichhasl il y a 8 ans
Parent
révision
7e98dba2d2
6 fichiers modifiés avec 66 ajouts et 3 suppressions
  1. +7
    -1
      web_dev/sas_web/meingoethopia/admin.py
  2. +14
    -0
      web_dev/sas_web/meingoethopia/models.py
  3. +7
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/index.html
  4. +14
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/question_new.html
  5. +2
    -1
      web_dev/sas_web/meingoethopia/urls.py
  6. +22
    -1
      web_dev/sas_web/meingoethopia/views.py

+ 7
- 1
web_dev/sas_web/meingoethopia/admin.py Voir le fichier

@@ -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
- 0
web_dev/sas_web/meingoethopia/models.py Voir le fichier

@@ -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'

+ 7
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/index.html Voir le fichier

@@ -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 %}

+ 14
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/question_new.html Voir le fichier

@@ -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
web_dev/sas_web/meingoethopia/urls.py Voir le fichier

@@ -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
web_dev/sas_web/meingoethopia/views.py Voir le fichier

@@ -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")

Chargement…
Annuler
Enregistrer