meingoethopia functionality
This commit is contained in:
@@ -1,3 +1,22 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from .models import Betrieb, Partei, PresidentCandidate
|
||||||
|
|
||||||
|
|
||||||
# Register your models here.
|
# 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)
|
||||||
|
|||||||
@@ -1,3 +1,47 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# 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 %}
|
{% block content %}
|
||||||
<p>Mein Goethopia!</p>
|
<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 %}
|
{% 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 %}
|
||||||
@@ -3,5 +3,8 @@ from django.conf.urls import url
|
|||||||
from . import views
|
from . import views
|
||||||
|
|
||||||
urlpatterns = [
|
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')
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,6 +1,78 @@
|
|||||||
from django.shortcuts import render
|
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.
|
# Create your views here.
|
||||||
def index(request):
|
def index(request):
|
||||||
return render(request, "meingoethopia/index.html")
|
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})
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|||||||
|
|
||||||
urlpatterns += [
|
urlpatterns += [
|
||||||
url(r'^$', include('startpage.urls', namespace='startpage', app_name='startpage')),
|
url(r'^$', include('startpage.urls', namespace='startpage', app_name='startpage')),
|
||||||
url(r'^meingoethopia', include('meingoethopia.urls',
|
url(r'^meingoethopia/', include('meingoethopia.urls',
|
||||||
namespace='meingoethopia',
|
namespace='meingoethopia',
|
||||||
app_name='meingoethopia')),
|
app_name='meingoethopia')),
|
||||||
url(r'^datenbank', include('datenbank.urls', app_name='datenbank',
|
url(r'^datenbank/', include('datenbank.urls', app_name='datenbank',
|
||||||
namespace='datenbank')),
|
namespace='datenbank')),
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user