Schule als Staat Projekt Web, Dokumente, etc.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

108 行
4.0KB

  1. from django.shortcuts import render
  2. from django import forms
  3. from captcha.fields import CaptchaField
  4. from .models import Betrieb, Partei, PresidentCandidate, Question
  5. class BetriebForm(forms.Form):
  6. name = forms.CharField(label='Name des Betriebs', max_length=100)
  7. manager = forms.CharField(label='Betriebsleiter', max_length=200)
  8. email = forms.EmailField(label='Kontakt Email')
  9. business_idea = forms.CharField(label='Idee')
  10. captcha = CaptchaField()
  11. class ParteiForm(forms.Form):
  12. name = forms.CharField(label='Name der Partei', max_length=100)
  13. abbreviation = forms.CharField(label='Abkürzung', max_length=5)
  14. chef = forms.CharField(label='Parteivorsitzende', max_length=200)
  15. email = forms.EmailField(label='Kontakt Email')
  16. description = forms.CharField(label='Beschreibung')
  17. captcha = CaptchaField()
  18. class PresidentForm(forms.Form):
  19. name = forms.CharField(label='Name', max_length=100)
  20. email = forms.EmailField(label='Kontakt Email')
  21. motivation = forms.CharField(label='Motivation')
  22. captcha = CaptchaField()
  23. class QuestionForm(forms.Form):
  24. subject = forms.CharField(label='Thema', max_length=100)
  25. email = forms.EmailField(label='Kontakt Email')
  26. content = forms.CharField(label='Frage')
  27. captcha = CaptchaField()
  28. # Create your views here.
  29. def index(request):
  30. return render(request, "meingoethopia/index.html")
  31. def betrieb_new(request):
  32. if request.method == 'POST':
  33. form = BetriebForm(request.POST)
  34. if form.is_valid():
  35. betrieb = Betrieb(name=form.cleaned_data.get('name'),
  36. manager=form.cleaned_data.get('manager'),
  37. email=form.cleaned_data.get('email'),
  38. business_idea=form.cleaned_data.get('business_idea'),
  39. confirmed=False)
  40. betrieb.save()
  41. return render_confirmation(request)
  42. else:
  43. form = BetriebForm()
  44. return render(request, "meingoethopia/betrieb_new.html", {'form': form})
  45. def partei_new(request):
  46. if request.method == 'POST':
  47. form = ParteiForm(request.POST)
  48. if form.is_valid():
  49. partei = Partei(name=form.cleaned_data.get('name'),
  50. abbreviation=form.cleaned_data.get('abbreviation'),
  51. chef=form.cleaned_data.get('chef'),
  52. email=form.cleaned_data.get('email'),
  53. description=form.cleaned_data.get('description'),
  54. confirmed=False)
  55. partei.save()
  56. return render_confirmation(request)
  57. else:
  58. form = ParteiForm()
  59. return render(request, "meingoethopia/partei_new.html", {'form': form})
  60. def praesident_werden(request):
  61. if request.method == 'POST':
  62. form = PresidentForm(request.POST)
  63. if form.is_valid():
  64. president = PresidentCandidate(name=form.cleaned_data.get('name'),
  65. email=form.cleaned_data.get('email'),
  66. motivation=form.cleaned_data.get('motivation'),
  67. confirmed=False)
  68. president.save()
  69. return render_confirmation(request)
  70. else:
  71. form = PresidentForm()
  72. return render(request, "meingoethopia/president.html", {'form': form})
  73. def question_new(request):
  74. if request.method == 'POST':
  75. form = QuestionForm(request.POST)
  76. if form.is_valid():
  77. question = Question(subject=form.cleaned_data.get('subject'),
  78. email=form.cleaned_data.get('email'),
  79. content=form.cleaned_data.get('content'),
  80. answered=False)
  81. question.save()
  82. return render_confirmation(request)
  83. else:
  84. form = QuestionForm()
  85. return render(request, "meingoethopia/question_new.html", {'form': form})
  86. def render_confirmation(request):
  87. return render(request, "meingoethopia/confirmed.html")