diff --git a/web_dev/sas_web/news/admin.py b/web_dev/sas_web/news/admin.py index dbb32d2..d0decc0 100644 --- a/web_dev/sas_web/news/admin.py +++ b/web_dev/sas_web/news/admin.py @@ -1,14 +1,26 @@ from django.contrib import admin -from .models import ParteiWerbung, PraesidentWerbung +from .models import ParteiWerbung, PraesidentWerbung, ParteiAnhang, \ + PraesidentAnhang + + +class ParteiAnhangInline(admin.TabularInline): + model = ParteiAnhang + extra = 0 + + +class PraesidentAnhangInline(admin.TabularInline): + model = PraesidentAnhang + extra = 0 -# Register your models here. class ParteiWerbungAdmin(admin.ModelAdmin): list_display = ('partei',) + inlines = [ParteiAnhangInline] class PraesidentWerbungAdmin(admin.ModelAdmin): list_display = ('praesident',) + inlines = [PraesidentAnhangInline] admin.site.register(ParteiWerbung, ParteiWerbungAdmin) admin.site.register(PraesidentWerbung, PraesidentWerbungAdmin) diff --git a/web_dev/sas_web/news/models.py b/web_dev/sas_web/news/models.py index 3b3b462..e3b7c74 100644 --- a/web_dev/sas_web/news/models.py +++ b/web_dev/sas_web/news/models.py @@ -19,13 +19,44 @@ class ParteiWerbung(models.Model): verbose_name_plural = 'Parteienwerbung' +class ParteiAnhang(models.Model): + name = models.CharField('Name', max_length=100) + data = models.FileField('Datei') + partei = models.ForeignKey(ParteiWerbung) + + def __str__(self): + return self.name + + class Meta: + verbose_name = 'Anhang' + verbose_name_plural = 'Anhänge' + + class PraesidentWerbung(models.Model): praesident = models.ForeignKey('meingoethopia.PresidentCandidate') image = models.ImageField('Bild', upload_to='praesident_bilder') + wahlprogramm = models.TextField('Wahlprogramm') + + @property + def url(self): + return "/wahl/praesident/{}".format(self.pk) def __str__(self): - return str(self.partei) + return str(self.praesident) class Meta: verbose_name = 'Präsidentwerbung' verbose_name_plural = 'Präsidentenwerbung' + + +class PraesidentAnhang(models.Model): + name = models.CharField('Name', max_length=100) + data = models.FileField('Datei') + praesident = models.ForeignKey(PraesidentWerbung) + + def __str__(self): + return self.name + + class Meta: + verbose_name = 'Anhang' + verbose_name_plural = 'Anhänge' diff --git a/web_dev/sas_web/news/static/news/css/partei.css b/web_dev/sas_web/news/static/news/css/partei.css index a4735bf..5a14c8f 100644 --- a/web_dev/sas_web/news/static/news/css/partei.css +++ b/web_dev/sas_web/news/static/news/css/partei.css @@ -1,3 +1,13 @@ #partei_bild { - max-width: 20% + max-width: 50%; + margin-top: 20px; + margin-bottom: 50px; +} + +.trpartei { + line-height: 25px; +} + +.tablepartei { + width: 100%; } diff --git a/web_dev/sas_web/news/templates/news/index.html b/web_dev/sas_web/news/templates/news/index.html index 0f2f538..668d1a1 100644 --- a/web_dev/sas_web/news/templates/news/index.html +++ b/web_dev/sas_web/news/templates/news/index.html @@ -13,13 +13,10 @@
- Bald wird gewählt in Goethopia! Hier erfährst du welche Parteien zur Wahl stehen - und wer als Präsidentin kandidiert! -
+@@ -28,7 +25,7 @@
| + | + | + |
|---|---|---|
+ Präsidentschaftskandidaten+ |
+ ||
|
+ + Keine Präsidenten gefunden + + |
+ ||
|
+
+
+
+
+
+ {{ entry.praesident.name }} + |
+ {% endfor %}
+ ||
| + | + |
|---|---|
|
- Name +Name |
{{ entry.partei.name }} ({{ entry.partei.abbreviation }}) |
|
- Vorsitzende(r) +Vorsitzende(r) |
{{ entry.partei.chef }} |
|
- Wahlprogramm +Wahlprogramm |
{{ entry.wahlprogramm }} |
|
+ Weitere Informationen + |
+
+ {% for attachment in entry.parteianhang_set.all %}
+ {{ attachment.name }} + {% endfor %} + |
+
| + | + |
|---|---|
|
+ Name + |
+
+ {{ entry.praesident.name }} + |
+
|
+ Wahlprogramm + |
+
+ {{ entry.wahlprogramm }} + |
+
|
+ Weitere Informationen + |
+
+ {% for attachment in entry.praesidentanhang_set.all %}
+ {{ attachment.name }} + {% endfor %} + |
+