Skip to content
Snippets Groups Projects
Commit a233d2f0 authored by jarmil's avatar jarmil Committed by jan.bednarik
Browse files

Stranka aktuality

parent b0dfe1a1
No related branches found
No related tags found
2 merge requests!173Release,!134Weby pro MS
# Generated by Django 3.1.1 on 2020-10-07 09:57
import django.db.models.deletion
import wagtailmetadata.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0052_pagelogentry"),
("wagtailimages", "0022_uploadedimage"),
("district", "0001_initial"),
]
operations = [
migrations.CreateModel(
name="DistrictArticles",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
(
"max_items",
models.IntegerField(
blank=True,
null=True,
verbose_name="Maximalni pocet prvku na strance",
),
),
(
"search_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.image",
verbose_name="Search image",
),
),
],
options={"verbose_name": "Aktuality",},
bases=(
wagtailmetadata.models.MetadataMixin,
"wagtailcore.page",
models.Model,
),
),
]
from django.db import models
from django.utils.translation import gettext_lazy
from wagtail.admin.edit_handlers import (
FieldPanel,
HelpPanel,
MultiFieldPanel,
StreamFieldPanel,
)
from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, StreamFieldPanel
from wagtail.core import blocks
from wagtail.core.fields import StreamField
from wagtail.core.models import Page
from wagtailmetadata.models import MetadataPageMixin
from shared.models import Article
from tuning import help
class DistrictHomePage(MetadataPageMixin, Page):
......@@ -52,6 +46,7 @@ class DistrictHomePage(MetadataPageMixin, Page):
### RELATIONS
subpage_types = [
"shared.Article",
"DistrictArticles",
]
### OTHERS
......@@ -63,6 +58,41 @@ class DistrictHomePage(MetadataPageMixin, Page):
def articles(self):
return self.get_descendants().type(Article).live().specific()
@property
def articles_page(self):
return self.get_descendants().type(DistrictArticles).live().specific()[0]
@property
def root_page(self):
return self
class DistrictArticles(MetadataPageMixin, Page):
### FIELDS
max_items = models.IntegerField(
"Maximalni pocet prvku na strance", blank=True, null=True
)
### PANELS
content_panels = Page.content_panels + [
FieldPanel("max_items"),
]
settings_panels = []
### OTHERS
class Meta:
verbose_name = "Aktuality"
def get_context(self, request):
context = super().get_context(request)
context["articles"] = (
self.get_siblings(inclusive=False)
.type(Article)
.live()
.specific()[: self.max_items]
)
return context
<nav class="text-center mb-3">
<a href="/aktuality/" class="btn btn--icon text-xl pt-8" rel="next" >
<div class="btn__body-wrap">
<div class="btn__body ">Další články</div>
<div class="btn__icon ">
<i class="ico--chevron-right"></i>
</div>
</div>
</a>
</nav>
......@@ -41,7 +41,7 @@
<div>
<div class="container container--wide navbar__content max-w-screen-xl" :class="{'navbar__content--initialized': true}">
<div class="navbar__brand my-4 flex items-center lg:pr-8 lg:my-0">
<a href="#">
<a href="/">
<img src="{% static "uniweb/assets/images/logo-round-white.svg" %}" class="w-8" />
</a>
</div>
......
{% extends "district/base.html" %}
{% block content %}
<main>
<h1 class="head-alt-md md:head-alt-lg max-w-5xl mb-4 mt-5">Aktuální témata</h1>
<div class="article-card-list grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 lg:gap-8">
{% for a in articles %}
{% include "shared/article_preview.html" with article=a %}
{% endfor %}
</div>
</main>
{% endblock %}
......@@ -13,6 +13,8 @@
{% endfor %}
</div>
{% include "district/_more_articles.html" %}
<div class="d-flex">
<a href="{{page.facebook}}" class="super-button bg-brands-facebook text-white container-padding--zero lg:container-padding--auto lg:w-full m-2" >
......
......@@ -80,4 +80,7 @@
</div>
{% include "district/_more_articles.html" %}
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment