From 77a692bda2fd8ab0acf65d4fb510789125a2984c Mon Sep 17 00:00:00 2001 From: "jindra12.underdark" <jindra12.underdark@gmail.com> Date: Sat, 9 Dec 2023 17:54:31 +0100 Subject: [PATCH] Minor fixes for uniweb person page #213 --- .../0051_uniwebhomepage_fallback_image.py | 27 +++++++++++++++++++ uniweb/models.py | 19 +++++++++++++ uniweb/templates/uniweb/base.html | 2 ++ .../templates/uniweb/uniweb_person_page.html | 19 ++++++++++--- 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 uniweb/migrations/0051_uniwebhomepage_fallback_image.py diff --git a/uniweb/migrations/0051_uniwebhomepage_fallback_image.py b/uniweb/migrations/0051_uniwebhomepage_fallback_image.py new file mode 100644 index 00000000..161b3a2b --- /dev/null +++ b/uniweb/migrations/0051_uniwebhomepage_fallback_image.py @@ -0,0 +1,27 @@ +# Generated by Django 4.1.8 on 2023-12-09 16:07 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("wagtailimages", "0025_alter_image_file_alter_rendition_file"), + ("uniweb", "0050_uniwebhomepage_donation_page"), + ] + + operations = [ + migrations.AddField( + model_name="uniwebhomepage", + name="fallback_image", + field=models.ForeignKey( + blank=True, + help_text="Tento obrázek bude využit např. jako pozadí pro osobní stránky.", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="wagtailimages.image", + verbose_name="Obrázek pro pozadí stránek", + ), + ), + ] diff --git a/uniweb/models.py b/uniweb/models.py index 37c26947..0b6217c1 100644 --- a/uniweb/models.py +++ b/uniweb/models.py @@ -312,6 +312,16 @@ class UniwebHomePage( ): ### FIELDS + fallback_image = models.ForeignKey( + "wagtailimages.Image", + on_delete=models.PROTECT, + blank=True, + null=True, + related_name="+", + verbose_name="Obrázek pro pozadí stránek", + help_text="Tento obrázek bude využit např. jako pozadí pro osobní stránky.", + ) + calendar_page = models.ForeignKey( "UniwebCalendarPage", verbose_name="Stránka s kalendářem", @@ -394,6 +404,7 @@ class UniwebHomePage( FieldPanel("matomo_id"), FieldPanel("title_suffix"), FieldPanel("narrow_layout"), + FieldPanel("fallback_image"), ], "nastavení webu", ), @@ -838,6 +849,14 @@ class UniwebPersonPage( else self.root_page.fallback_image ) + def get_job_description(self): + """ + Vrací povolání + funkci, s čárkou mezi nima, pokud jsou obě definovaná, jinak vrátí jednu z nich + """ + if self.job and self.job_function: + return f"{self.job}, {self.job_function}" + return self.job or self.job_function or "" + def get_context(self, request): context = super().get_context(request) # Na strance detailu cloveka se vpravo zobrazuji 3 dalsi nahodne profily diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html index d01cc530..33fcef83 100644 --- a/uniweb/templates/uniweb/base.html +++ b/uniweb/templates/uniweb/base.html @@ -83,6 +83,8 @@ </ui-app> </nav> + {% block subheader %}{% endblock %} + <div class="container container--default py-8 lg:py-24 {% if page.root_page.narrow_layout %}max-w-screen-lg{% endif%}"> {% block content %}{% endblock %} </div> diff --git a/uniweb/templates/uniweb/uniweb_person_page.html b/uniweb/templates/uniweb/uniweb_person_page.html index 9d1b880f..0f68860b 100644 --- a/uniweb/templates/uniweb/uniweb_person_page.html +++ b/uniweb/templates/uniweb/uniweb_person_page.html @@ -2,15 +2,18 @@ {% load static wagtailcore_tags wagtailimages_tags shared_filters %} {% block subheader %} - {% image page.get_background_photo fill-1920x500-c75 jpegquality-80 as bg_img %} - - <header class="hero hero--image pt-16 pb-24 lg:pt-32 pb-24" style="--image-url: url({{ bg_img.full_url }})"> + {% if page.get_background_photo %} + {% image page.get_background_photo fill-1920x500-c75 jpegquality-80 as bg_img %} + <header class="hero hero--image pt-16 pb-24 lg:pt-32 pb-24" style="--image-url: url({{ bg_img.full_url }})"> + {% else %} + <header class="hero hero--image pt-16 pb-24 lg:pt-32 pb-24 bg-grey-800"> + {% endif %} <div class="container container--default text-center lg:text-left"> <h1 class="head-alt-lg md:head-alt-xl text-shadow-lg max-w-2xl"> {{ page.title }} </h1> <h2 class="head-xs text-shadow-lg mt-2 max-w-xl"> - {{ page.job | default_if_none:"" }} + {{ page.get_job_description }} </h2> </div> </header> @@ -130,6 +133,14 @@ </a> </div> {% endif %} + {% if page.city %} + <div> + <h4>Město</h4> + <div class="contact-line icon-link content-block--nostyle"> + <i class="ico--home"></i><span>{{ page.city }}</span> + </div> + </div> + {% endif %} </div> </div> {% endif %} -- GitLab