diff --git a/publichealth/home/models.py b/publichealth/home/models.py
index debbbf2..b90d01b 100644
--- a/publichealth/home/models.py
+++ b/publichealth/home/models.py
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
from __future__ import unicode_literals
from django.db import models
@@ -37,8 +39,6 @@ class ArticlePage(Page):
'title_fr',
)
- date = models.DateField("Date")
-
intro_de = RichTextField(default='')
intro_fr = RichTextField(default='')
trans_intro = TranslatedField(
@@ -61,6 +61,7 @@ class ArticlePage(Page):
'body_fr',
)
+ date = models.DateField("Date")
feed_image = models.ForeignKey(
'wagtailimages.Image',
null=True,
@@ -76,20 +77,24 @@ class ArticlePage(Page):
index.SearchField('title_fr'),
index.SearchField('intro_de'),
index.SearchField('intro_fr'),
- index.FilterField('date'),
]
- content_panels = Page.content_panels + [
- FieldPanel('title_fr'),
- FieldPanel('date'),
- FieldPanel('intro_de'),
- FieldPanel('intro_fr'),
- StreamFieldPanel('body_de'),
- StreamFieldPanel('body_fr'),
- InlinePanel('related_links', label="Related links"),
+ content_panels = [
+ MultiFieldPanel([
+ FieldPanel('title'),
+ FieldPanel('intro_de'),
+ StreamFieldPanel('body_de'),
+ ], heading="Deutsch"),
+ MultiFieldPanel([
+ FieldPanel('title_fr'),
+ FieldPanel('intro_fr'),
+ StreamFieldPanel('body_fr'),
+ ], heading="Français"),
]
promote_panels = [
- MultiFieldPanel(Page.promote_panels, "Common page configuration"),
+ FieldPanel('date'),
ImageChooserPanel('feed_image'),
+ InlinePanel('related_links', label="Links"),
+ MultiFieldPanel(Page.promote_panels, "Common page configuration"),
]
parent_page_types = ['home.ArticleIndexPage']
subpage_types = []
@@ -138,6 +143,9 @@ class HomePage(Page):
'infos_fr',
)
+ def get_articles(self):
+ return ArticleIndexPage.objects.descendant_of(self).live().order_by('-date').select_related('owner')
+
content_panels = Page.content_panels + [
FieldPanel('intro_de', classname="full"),
FieldPanel('intro_fr', classname="full"),
diff --git a/publichealth/home/routes.py b/publichealth/home/routes.py
new file mode 100644
index 0000000..e04e0f6
--- /dev/null
+++ b/publichealth/home/routes.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+
+from datetime import date
+
+from django.utils.dateformat import DateFormat
+from django.utils.formats import date_format
+from django.utils.translation import ugettext_lazy as _
+from django.conf import settings
+
+from wagtail.wagtailcore.models import Page
+from wagtail.wagtailsearch.models import Query
+from wagtail.contrib.wagtailroutablepage.models import RoutablePageMixin, route
+
+class HomePage(RoutablePageMixin, Page):
+
+ @route(r'^$')
+ def home_page(self, request, *args, **kwargs):
+ self.articles = self.get_articles()
+ return Page.serve(self, request, *args, **kwargs)
diff --git a/publichealth/home/templates/banner.html b/publichealth/home/templates/banner.html
index adc9569..7899f93 100644
--- a/publichealth/home/templates/banner.html
+++ b/publichealth/home/templates/banner.html
@@ -1,46 +1,17 @@
{% load wagtailcore_tags %}
-
-
-
+ {% for entry in articles %}
-
+
-
Mitgliedschaft
-
Werden Sie jetzt Mitglied von Public Health Schweiz und profitieren Sie von vielen Vorteilen und Vergünstigungen. Als Mitglied tragen Sie zudem dazu bei, dass sich Public Health Schweiz weiterhin für die Anliegen der Public-Health-Fachleute einsetzen kann.
-
Mitglied werden
-
-
-
-
-
-
Swiss Public Health Conference 15. November 2016 in Bern
-
Die Swiss Public Health Conference 2016 ist erfolgreich zu Ende gegangen. Wir bedanken uns bei Ihnen an dieser Stelle für Ihre engagierte Teilnahme und die vielen angeregten Gespräche während der Konferenz.
-
Learn more
-
-
-
-
-
-
Parlamentarische Gruppe nichtübertragbare Krankheiten NCD gegründet
-
Die Ständeräte Hans Stöckli und Joachim Eder sowie die Nationalrätin Ruth Humbel haben die Parlamentarische Gruppe nichtübertragbare Krankheiten NCD gegründet. Ziel ist es, das Thema NCD in der Schweizer Politik nachhaltig zu verankern.
-
Learn more
-
-
-
-
-
-
-
Wirksamer Schutz der Kinder und Jugendlichen vor Tabakkonsum rückt in weite Ferne
-
National- und Ständerat finden, dass die wenigen heute geltenden Einschränkungen für Tabakwerbung genügen. Dabei verkennen sie jedoch, dass die omnipräsente Tabakwerbung insbesondere auf Kinder und Jugendliche einen grossen Einfluss hat – und oft
- auch auf diese ausgerichtet ist.
-
Learn more
+
{{ entry.trans_title }}
+
{{ entry.trans_intro|richtext }}
+ {% endfor %}
-
diff --git a/publichealth/home/templates/home/article_index_page.html b/publichealth/home/templates/home/article_index_page.html
index 152b9ff..247ca05 100644
--- a/publichealth/home/templates/home/article_index_page.html
+++ b/publichealth/home/templates/home/article_index_page.html
@@ -4,34 +4,5 @@
{% block body_class %}template-{{ self.get_verbose_name|slugify }}{% endblock %}
{% block content %}
-
-
-
-
- {% include_block page.feed_image %}
-
-
-
{{ page.trans_title }}
-
-
{{ page.trans_intro|richtext }}
-
-
{{ page.date }}
-
-
-
-
- {% for block in page.trans_body %}
- {% if block.block_type == 'heading' %}
-
{{ block.value }}
- {% else %}
-
- {% include_block block %}
-
- {% endif %}
- {% endfor %}
-
-
-
-
-
+...
{% endblock %}
diff --git a/publichealth/home/templates/home/article_page.html b/publichealth/home/templates/home/article_page.html
index c8be73d..04ae090 100644
--- a/publichealth/home/templates/home/article_page.html
+++ b/publichealth/home/templates/home/article_page.html
@@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load wagtailcore_tags %}
+{% load wagtailimages_tags %}
{% block body_class %}template-{{ self.get_verbose_name|slugify }}{% endblock %}
@@ -8,7 +9,7 @@
- {% include_block feed_image %}
+ {% image page.feed_image fill-940x400 class="img-responsive" %}
{{ page.trans_title }}
diff --git a/publichealth/home/templates/home/home_page.html b/publichealth/home/templates/home/home_page.html
index cb37335..d5c78ec 100644
--- a/publichealth/home/templates/home/home_page.html
+++ b/publichealth/home/templates/home/home_page.html
@@ -6,10 +6,13 @@
{% block content %}
- {% include 'banner.html' %}
+
+{% include 'banner.html' %}
- {% include 'news.html' %}
+
+{% include 'news.html' %}
+
@@ -18,7 +21,7 @@
-
+
diff --git a/publichealth/home/templates/news_dynamic.html b/publichealth/home/templates/news_dynamic.html
deleted file mode 100644
index 809334f..0000000
--- a/publichealth/home/templates/news_dynamic.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- {% for entry in articles %}
-
-
- {% image entry.feed_image fill-345x260 %}
-
-
{{ entry.trans_title }}
-
{{ entry.trans_intro|richtext }}
-
Mehr erfahren
-
-
-
- {% endfor %}
-
-
-
diff --git a/publichealth/settings/base.py b/publichealth/settings/base.py
index cb68d62..cbebaac 100644
--- a/publichealth/settings/base.py
+++ b/publichealth/settings/base.py
@@ -29,6 +29,7 @@ INSTALLED_APPS = [
'publichealth.search',
'wagtail.contrib.wagtailsearchpromotions',
+ 'wagtail.contrib.wagtailroutablepage',
'wagtail.wagtailforms',
'wagtail.wagtailredirects',
'wagtail.wagtailembeds',
diff --git a/publichealth/static/css/main.scss b/publichealth/static/css/main.scss
index e901ef5..a65d8bb 100644
--- a/publichealth/static/css/main.scss
+++ b/publichealth/static/css/main.scss
@@ -8,7 +8,6 @@
// Modules
@import "modules/modules";
-
body {
margin-top: 104px;
}
@@ -18,7 +17,7 @@ section {
&:nth-child(odd) {
background-color: $gray-lighter;
}
-
+
h2 {
text-align: center;
margin-bottom: 1.5em;
diff --git a/publichealth/static/css/modules/_news.scss b/publichealth/static/css/modules/_news.scss
index 6fac54a..22c0ece 100644
--- a/publichealth/static/css/modules/_news.scss
+++ b/publichealth/static/css/modules/_news.scss
@@ -77,6 +77,8 @@
// News detail article
#news-details {
background: white;
+ padding-top: 0;
+
.category {
margin-top: 2em;
display: inline-block;