ソースを参照

meingoethopia functionality

master
erichhasl 8年前
コミット
9da7f73569
9個のファイルの変更190行の追加6行の削除
  1. +19
    -0
      web_dev/sas_web/meingoethopia/admin.py
  2. +44
    -0
      web_dev/sas_web/meingoethopia/models.py
  3. +14
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/betrieb_new.html
  4. +4
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/index.html
  5. +14
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/partei_new.html
  6. +14
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/president.html
  7. +4
    -1
      web_dev/sas_web/meingoethopia/urls.py
  8. +72
    -0
      web_dev/sas_web/meingoethopia/views.py
  9. +5
    -5
      web_dev/sas_web/sas_web/urls.py

+ 19
- 0
web_dev/sas_web/meingoethopia/admin.py ファイルの表示

@@ -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
- 0
web_dev/sas_web/meingoethopia/models.py ファイルの表示

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

+ 14
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/betrieb_new.html ファイルの表示

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

+ 4
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/index.html ファイルの表示

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

+ 14
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/partei_new.html ファイルの表示

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

+ 14
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/president.html ファイルの表示

@@ -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
web_dev/sas_web/meingoethopia/urls.py ファイルの表示

@@ -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
- 0
web_dev/sas_web/meingoethopia/views.py ファイルの表示

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

+ 5
- 5
web_dev/sas_web/sas_web/urls.py ファイルの表示

@@ -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',
namespace='meingoethopia',
app_name='meingoethopia')),
url(r'^datenbank', include('datenbank.urls', app_name='datenbank',
namespace='datenbank')),
url(r'^meingoethopia/', include('meingoethopia.urls',
namespace='meingoethopia',
app_name='meingoethopia')),
url(r'^datenbank/', include('datenbank.urls', app_name='datenbank',
namespace='datenbank')),
url(r'^admin/', include(admin.site.urls)),
]

読み込み中…
キャンセル
保存