erichhasl 8 лет назад
Родитель
Сommit
7e98dba2d2
6 измененных файлов: 66 добавлений и 3 удалений
  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 Просмотреть файл

@@ -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
- 0
web_dev/sas_web/meingoethopia/models.py Просмотреть файл

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

+ 7
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/index.html Просмотреть файл

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

+ 14
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/question_new.html Просмотреть файл

@@ -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 Просмотреть файл

@@ -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
web_dev/sas_web/meingoethopia/views.py Просмотреть файл

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

Загрузка…
Отмена
Сохранить