From 3bae4aac3584e2b160acc4444d802f6227f6c370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Thu, 13 Apr 2023 11:28:47 +0200 Subject: [PATCH] add calendars to district pages --- district/templates/district/base.html | 2 +- .../templates/district/district_person_page.html | 8 +++++++- main/models.py | 11 +++++++++-- shared/models.py | 12 +++--------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/district/templates/district/base.html b/district/templates/district/base.html index 0f20b30b..1e7fe7cc 100644 --- a/district/templates/district/base.html +++ b/district/templates/district/base.html @@ -19,7 +19,7 @@ <!-- Bootstrap CSS --> <!-- Styles --> - <link rel="stylesheet" href="https://styleguide.pirati.cz/2.10.x/css/styles.css"> + <link rel="stylesheet" href="https://styleguide.pirati.cz/2.12.x/css/styles.css"> <link href="{% static "shared/vendor/fancybox/jquery.fancybox.min.css" %}" rel="stylesheet"> <link rel="stylesheet" href="{% static "shared/css/helpers.css" %}"> diff --git a/district/templates/district/district_person_page.html b/district/templates/district/district_person_page.html index cb803a7c..45097a43 100644 --- a/district/templates/district/district_person_page.html +++ b/district/templates/district/district_person_page.html @@ -21,9 +21,15 @@ {% block content %} <div class="flex flex-col lg:flex-row lg:space-x-8 xl:space-x-16"> <section class="lg:w-3/5 xl:w-2/3"> - <div class="content-block w-full"> + <div class="content-block w-full mb-16"> {{ page.text|richtext }} </div> + {% if page.ical_calendar_url %} + <section> + <h2 class="head-alt-md mb-3"><i class="ico--calendar mr-4"></i>Kalendář</h2> + <ui-person-calendar events='{{ calendar_data|safe }}'></ui-person-calendar> + </section> + {% endif %} </section> <section class="lg:w-2/5 xl:w-1/3 pt-8 lg:pt-0 order-first lg:order-last candidate-detail__sidebar"> diff --git a/main/models.py b/main/models.py index ff0cd54f..33d0d5dc 100644 --- a/main/models.py +++ b/main/models.py @@ -4,7 +4,6 @@ from functools import cached_property from dateutil.relativedelta import relativedelta from django.conf import settings from django.contrib import messages -from django.core.cache import cache from django.core.paginator import Paginator from django.core.validators import RegexValidator from django.db import models @@ -12,7 +11,6 @@ from django.forms import ValidationError from django.http import HttpResponseRedirect, JsonResponse from django.shortcuts import render from django.utils import timezone -from icalevnt import icalevents from modelcluster.contrib.taggit import ClusterTaggableManager from modelcluster.fields import ParentalKey from taggit.models import TaggedItemBase @@ -822,6 +820,15 @@ class MainPersonPage( def get_context(self, request) -> dict: context = super().get_context(request) + if len(self.instagram_access.raw_data) != 0: + context["instagram_post_list"] = ( + InstagramPost.objects.filter( + author_username=self.instagram_access.raw_data[0]["value"][ + "username" + ] + ).order_by("-timestamp") + )[:20] + context["article_page_list"] = MainArticlePage.objects.filter( author_page=self.id ) diff --git a/shared/models.py b/shared/models.py index a05d8ab9..0de214ec 100644 --- a/shared/models.py +++ b/shared/models.py @@ -2,8 +2,11 @@ import json import logging import requests +from datetime import date, timedelta +from django.core.cache import cache from django.db import models from django.utils import timezone +from icalevnt import icalevents from wagtail.admin.panels import FieldPanel, MultiFieldPanel, PublishingPanel from wagtail.fields import StreamField from wagtail.models import Page @@ -212,15 +215,6 @@ class PersonCalendarMixin(models.Model): def get_context(self, request) -> dict: context = super().get_context(request) - if len(self.instagram_access.raw_data) != 0: - context["instagram_post_list"] = ( - InstagramPost.objects.filter( - author_username=self.instagram_access.raw_data[0]["value"][ - "username" - ] - ).order_by("-timestamp") - )[:20] - if self.ical_calendar_url: context["calendar_data"] = self.get_ical_data() -- GitLab