meingoethopia functionality

This commit is contained in:
erichhasl
2017-11-18 19:12:01 +01:00
parent 071b0e67ec
commit 9da7f73569
9 changed files with 190 additions and 6 deletions
+19
View File
@@ -1,3 +1,22 @@
from django.contrib import admin
from .models import Betrieb, Partei, PresidentCandidate
# Register your models here.
class BetriebAdmin(admin.ModelAdmin):
list_display = ('name', 'manager', 'confirmed')
list_filter = ('confirmed',)
class ParteiAdmin(admin.ModelAdmin):
list_display = ('name', 'abbreviation', 'chef', 'description', 'confirmed')
list_filter = ('confirmed',)
class PresidentAdmin(admin.ModelAdmin):
list_display = ('name', 'confirmed')
list_filter = ('confirmed',)
admin.site.register(Betrieb, BetriebAdmin)
admin.site.register(Partei, ParteiAdmin)
admin.site.register(PresidentCandidate, PresidentAdmin)
+44
View File
@@ -1,3 +1,47 @@
from django.db import models
# Create your models here.
class Betrieb(models.Model):
name = models.CharField('Name', max_length=100)
manager = models.CharField('Betriebsleiter', max_length=200)
email = models.EmailField('Kontakt Email')
business_idea = models.TextField('Idee')
confirmed = models.BooleanField('Bestätigt', default=False)
def __str__(self):
return str(self.name)
class Meta:
verbose_name = 'Betrieb'
verbose_name_plural = 'Betriebe'
class Partei(models.Model):
name = models.CharField('Name', max_length=100)
abbreviation = models.CharField('Abkürzung', max_length=5)
chef = models.CharField('Parteivorsitzende', max_length=200)
email = models.EmailField('Kontakt Email')
description = models.TextField('Beschreibung (Ziele etc.)')
confirmed = models.BooleanField('Bestätigt', default=False)
def __str__(self):
return str(self.name)
class Meta:
verbose_name = 'Partei'
verbose_name_plural = 'Parteien'
class PresidentCandidate(models.Model):
name = models.CharField('Name', max_length=100)
email = models.EmailField('Kontakt Email')
motivation = models.TextField('Motivation')
confirmed = models.BooleanField('Bestätigt', default=False)
def __str__(self):
return str(self.name)
class Meta:
verbose_name = 'Präsidentschaftskandidat'
verbose_name_plural = 'Präsidentschaftskandidaten'
@@ -0,0 +1,14 @@
{% extends "public/default.html" %}
{% block content %}
<p>Hier kannst Du einen Betrieb anmelden!</p>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Verbindlich anmelden" />
</form>
{% endblock %}
@@ -2,4 +2,8 @@
{% block content %}
<p>Mein Goethopia!</p>
<p><a href="{% url "meingoethopia:betrieb_new" %}">Betrieb anmelden</a></p>
<p><a href="{% url "meingoethopia:partei_new" %}">Partei gründen</a></p>
<p><a href="{% url "meingoethopia:praesident_werden" %}">Als Präsidentin aufstellen lassen</a></p>
{% endblock %}
@@ -0,0 +1,14 @@
{% extends "public/default.html" %}
{% block content %}
<p>Hier kannst Du eine Partei anmelden!</p>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Verbindlich anmelden" />
</form>
{% endblock %}
@@ -0,0 +1,14 @@
{% extends "public/default.html" %}
{% block content %}
<p>Hier kannst Du dich als Präsident aufstellen lassen!</p>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Verbindlich aufstellen lassen" />
</form>
{% endblock %}
+4 -1
View File
@@ -3,5 +3,8 @@ from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index')
url(r'^$', views.index, name='index'),
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')
]
+72
View File
@@ -1,6 +1,78 @@
from django.shortcuts import render
from django.http import HttpResponseRedirect
from django import forms
from .models import Betrieb, Partei, PresidentCandidate
class BetriebForm(forms.Form):
name = forms.CharField(label='Name des Betriebs', max_length=100)
manager = forms.CharField(label='Betriebsleiter', max_length=200)
email = forms.EmailField(label='Kontakt Email')
business_idea = forms.CharField(label='Idee')
class ParteiForm(forms.Form):
name = forms.CharField(label='Name der Partei', max_length=100)
abbreviation = forms.CharField(label='Abkürzung', max_length=5)
chef = forms.CharField(label='Parteivorsitzende', max_length=200)
email = forms.EmailField(label='Kontakt Email')
description = forms.CharField(label='Beschreibung')
class PresidentForm(forms.Form):
name = forms.CharField(label='Name', max_length=100)
email = forms.EmailField(label='Kontakt Email')
motivation = forms.CharField(label='Motivation')
# Create your views here.
def index(request):
return render(request, "meingoethopia/index.html")
def betrieb_new(request):
if request.method == 'POST':
form = BetriebForm(request.POST)
if form.is_valid():
betrieb = Betrieb(name=form.cleaned_data.get('name'),
manager=form.cleaned_data.get('manager'),
email=form.cleaned_data.get('email'),
business_idea=form.cleaned_data.get('business_idea'),
confirmed=False)
betrieb.save()
return HttpResponseRedirect('/')
else:
form = BetriebForm()
return render(request, "meingoethopia/betrieb_new.html", {'form': form})
def partei_new(request):
if request.method == 'POST':
form = ParteiForm(request.POST)
if form.is_valid():
partei = Partei(name=form.cleaned_data.get('name'),
abbreviation=form.cleaned_data.get('abbreviation'),
chef=form.cleaned_data.get('chef'),
email=form.cleaned_data.get('email'),
description=form.cleaned_data.get('description'),
confirmed=False)
partei.save()
return HttpResponseRedirect('/')
else:
form = ParteiForm()
return render(request, "meingoethopia/partei_new.html", {'form': form})
def praesident_werden(request):
if request.method == 'POST':
form = PresidentForm(request.POST)
if form.is_valid():
president = PresidentCandidate(name=form.cleaned_data.get('name'),
email=form.cleaned_data.get('email'),
motivation=form.cleaned_data.get('motivation'),
confirmed=False)
president.save()
return HttpResponseRedirect('/')
else:
form = PresidentForm()
return render(request, "meingoethopia/president.html", {'form': form})
+2 -2
View File
@@ -22,10 +22,10 @@ urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += [
url(r'^$', include('startpage.urls', namespace='startpage', app_name='startpage')),
url(r'^meingoethopia', include('meingoethopia.urls',
url(r'^meingoethopia/', include('meingoethopia.urls',
namespace='meingoethopia',
app_name='meingoethopia')),
url(r'^datenbank', include('datenbank.urls', app_name='datenbank',
url(r'^datenbank/', include('datenbank.urls', app_name='datenbank',
namespace='datenbank')),
url(r'^admin/', include(admin.site.urls)),
]