Skip to content
Snippets Groups Projects
Commit 3e8e03d9 authored by Tomi Valentová's avatar Tomi Valentová
Browse files

run hooks, add remaining attrs

parent 50832e7a
No related branches found
No related tags found
2 merge requests!1047Uniweb redesign,!1045Uniweb redesign, minor district redesign fixes
Pipeline #18989 passed
Showing
with 5502 additions and 106 deletions
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from wagtail import blocks from wagtail import blocks
from ..children import CardLinkWithHeadlineBlockMixin, PersonCustomPositionBlockMixin from ..children import CardLinkWithHeadlineBlockMixin, PersonCustomPositionBlockMixin
......
...@@ -43,7 +43,9 @@ ...@@ -43,7 +43,9 @@
{% block content %}{% endblock content %} {% block content %}{% endblock content %}
{% if page.root_page.hide_footer is not True %}
{% include 'styleguide2/includes/organisms/layout/footer.html' %} {% include 'styleguide2/includes/organisms/layout/footer.html' %}
{% endif %}
<script src="{% static 'styleguide2/main.js' %}"></script> <script src="{% static 'styleguide2/main.js' %}"></script>
......
{% extends 'styleguide2/includes/organisms/layout/navbar.html' %} {% extends 'styleguide2/includes/organisms/layout/navbar.html' %}
{% load static %} {% load static wagtailimages_tags %}
{% if page.root_page.light_logo %}
{% image page.root_page.light_logo max-256x256 as light_logo %}
{% endif %}
{% if page.root_page.dark_logo %}
{% image page.root_page.dark_logo max-256x256 as dark_logo %}
{% endif %}
{% block navbar_logo_images %} {% block navbar_logo_images %}
<div <div
...@@ -13,8 +21,8 @@ ...@@ -13,8 +21,8 @@
> >
<img <img
class="w-[160px] lg:w-[190px]" class="w-[160px] lg:w-[190px]"
src="{% static 'styleguide2/images/district/logo-full-white.svg' %}" src="{% if light_logo %}{{ light_logo.url }}{% else %}{% static 'styleguide2/images/district/logo-full-white.svg' %}{% endif %}"
alt="Logo Pirátské strany" alt="{% if light_logo %}{{ light_logo.alt }}{% else %}Pirátské logo{% endif %}"
> >
<div class="font-alt text-xl w-[100px]"> <div class="font-alt text-xl w-[100px]">
...@@ -36,8 +44,8 @@ ...@@ -36,8 +44,8 @@
> >
<img <img
class="w-[160px] lg:w-[190px]" class="w-[160px] lg:w-[190px]"
src="{% static 'styleguide2/images/district/logo-full-black.svg' %}" src="{% if dark_logo %}{{ dark_logo.url }}{% else %}{% static 'styleguide2/images/district/logo-full-black.svg' %}{% endif %}"
alt="Logo Pirátské strany" alt="{% if dark_logo %}{{ dark_logo.alt }}{% else %}Pirátské logo{% endif %}"
> >
<div class="font-alt text-xl w-[100px]"> <div class="font-alt text-xl w-[100px]">
......
{% load static wagtailcore_tags %} {% load static wagtailimages_tags wagtailcore_tags %}
{% if page.root_page.light_logo %}
{% image page.root_page.light_logo max-256x256 as light_logo %}
{% endif %}
{% if page.root_page.dark_logo %}
{% image page.root_page.dark_logo max-256x256 as dark_logo %}
{% endif %}
<!-- Navbar --> <!-- Navbar -->
<nav <nav
...@@ -21,6 +29,7 @@ ...@@ -21,6 +29,7 @@
" "
> >
<div class="flex items-center xl:items-start"> <div class="flex items-center xl:items-start">
{% if page.root_page.show_logo is not False %}
<!-- BEGIN Logo--> <!-- BEGIN Logo-->
<a <a
href="{{ page.root_page.url }}" href="{{ page.root_page.url }}"
...@@ -29,17 +38,18 @@ ...@@ -29,17 +38,18 @@
{% block navbar_logo_images %} {% block navbar_logo_images %}
<img <img
class="navbar__logo--white w-[150px] lg:w-[180px]" class="navbar__logo--white w-[150px] lg:w-[180px]"
src="{% static 'styleguide2/images/logo-full-white.svg' %}" src="{% if light_logo %}{{ light_logo.url }}{% else %}{% static 'styleguide2/images/logo-full-white.svg' %}{% endif %}"
alt="Pirátské logo" alt="{% if light_logo %}{{ light_logo.alt }}{% else %}Pirátské logo{% endif %}"
> >
<img <img
class="navbar__logo--black w-[150px] lg:w-[180px]" class="navbar__logo--black w-[150px] lg:w-[180px]"
src="{% static 'styleguide2/images/logo-full-black.svg' %}" src="{% if dark_logo %}{{ dark_logo.url }}{% else %}{% static 'styleguide2/images/logo-full-black.svg' %}{% endif %}"
alt="Pirátské logo" alt="{% if dark_logo %}{{ dark_logo.alt }}{% else %}Pirátské logo{% endif %}"
> >
{% endblock %} {% endblock %}
</a> </a>
<!-- END Logo --> <!-- END Logo -->
{% endif %}
</div> </div>
<div class="flex-col gap-3 xl:flex hidden"> <div class="flex-col gap-3 xl:flex hidden">
...@@ -177,13 +187,15 @@ ...@@ -177,13 +187,15 @@
> >
<div class="grid-container"> <div class="grid-container">
<div class="grid-left-side"> <div class="grid-left-side">
{% if page.root_page.show_logo is not False %}
{% block popout_logo_image %} {% block popout_logo_image %}
<img <img
class="w-[150px] mt-3" class="w-[150px] mt-3"
src="{% static 'styleguide2/images/logo-full-black.svg' %}" src="{% if dark_logo %}{{ dark_logo.url }}{% else %}{% static 'styleguide2/images/logo-full-black.svg' %}{% endif %}"
alt="Pirátské logo" alt="Pirátské logo"
> >
{% endblock %} {% endblock %}
{% endif %}
</div> </div>
</div> </div>
......
from wagtail.blocks import ( from wagtail.blocks import CharBlock, ListBlock, PageChooserBlock, StructBlock, URLBlock
CharBlock,
ListBlock,
PageChooserBlock,
StructBlock,
URLBlock,
)
from shared.blocks import ( from shared.blocks import (
CardLinkBlockMixin, CardLinkBlockMixin,
......
from wagtail.admin.forms import WagtailAdminPageForm
class UniwebHomePageAdminForm(WagtailAdminPageForm):
def clean(self):
cleaned_data = super().clean()
# If one logo is set, then both logos must be set.
if (cleaned_data["dark_logo"] or cleaned_data["light_logo"]) and (
not cleaned_data["dark_logo"] or not cleaned_data["light_logo"]
):
self.add_error(
"dark_logo",
"Pokud je jedno logo nastaveno, musí být obě loga nastaveny.",
)
self.add_error(
"light_logo",
"Pokud je jedno logo nastaveno, musí být obě loga nastaveny.",
)
# Generated by Django 5.0.6 on 2024-07-08 09:38 # Generated by Django 5.0.6 on 2024-07-08 09:38
from django.db import migrations from django.db import migrations
from shared.blocks import MenuItemBlock from shared.blocks import MenuItemBlock
...@@ -11,24 +12,25 @@ def migrate_menu(apps, schema_editor): ...@@ -11,24 +12,25 @@ def migrate_menu(apps, schema_editor):
new_menu_blocks = [] new_menu_blocks = []
for top_menu_item in home_page.top_menu: for top_menu_item in home_page.top_menu:
new_menu_blocks.append(( new_menu_blocks.append(
(
"menu_item", "menu_item",
MenuItemBlock().to_python({ MenuItemBlock().to_python(
{
"title": top_menu_item.value["name"], "title": top_menu_item.value["name"],
"page": top_menu_item.value["page"].id "page": top_menu_item.value["page"].id,
}) }
)) ),
)
)
home_page.menu = new_menu_blocks home_page.menu = new_menu_blocks
home_page.save() home_page.save()
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('uniweb', '0087_alter_uniwebarticlepage_options_and_more'), ("uniweb", "0087_alter_uniwebarticlepage_options_and_more"),
] ]
operations = [ operations = [migrations.RunPython(migrate_menu)]
migrations.RunPython(migrate_menu)
]
# Generated by Django 5.0.6 on 2024-07-10 07:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("uniweb", "0089_alter_uniwebpeoplepage_options_and_more"),
]
operations = [
migrations.RenameField(
model_name="uniwebhomepage",
old_name="logo",
new_name="dark_logo",
),
migrations.AlterField(
model_name="uniwebhomepage",
name="show_logo",
field=models.BooleanField(
default=True,
help_text="Chcete v hlavičce ukazovat logo?",
verbose_name="zobrazit logo",
),
),
]
# Generated by Django 5.0.6 on 2024-07-10 07:45
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("uniweb", "0090_rename_logo_uniwebhomepage_dark_logo_and_more"),
("wagtailimages", "0026_delete_uploadedimage"),
]
operations = [
migrations.AddField(
model_name="uniwebhomepage",
name="light_logo",
field=models.ForeignKey(
blank=True,
help_text="Pokud žádné nezadáte, použije se default logo pirátů",
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="uniweb_light_logo_image",
to="wagtailimages.image",
verbose_name="Logo pro web (světlá verze)",
),
),
migrations.AlterField(
model_name="uniwebhomepage",
name="dark_logo",
field=models.ForeignKey(
blank=True,
help_text="Pokud žádné nezadáte, použije se default logo pirátů",
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="uniweb_dark_logo_image",
to="wagtailimages.image",
verbose_name="Logo pro web (tmavá verze)",
),
),
]
# Generated by Django 5.0.6 on 2024-07-10 09:00
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("uniweb", "0091_uniwebhomepage_light_logo_and_more"),
]
operations = [
migrations.RemoveField(
model_name="uniwebhomepage",
name="donation_page",
),
]
...@@ -42,11 +42,8 @@ from shared_legacy.models import FooterMixin as LegacyFooterMixin ...@@ -42,11 +42,8 @@ from shared_legacy.models import FooterMixin as LegacyFooterMixin
from shared_legacy.utils import make_promote_panels from shared_legacy.utils import make_promote_panels
from .blocks import PeopleGroupBlock, TeamBlock from .blocks import PeopleGroupBlock, TeamBlock
from .constants import ( from .constants import ARTICLES_PER_LINE, CALENDAR_EVENTS_CHOICES, FUTURE
ARTICLES_PER_LINE, from .forms import UniwebHomePageAdminForm
CALENDAR_EVENTS_CHOICES,
FUTURE,
)
class ArticlesBlock(blocks.StructBlock): class ArticlesBlock(blocks.StructBlock):
...@@ -151,6 +148,8 @@ class UniwebArticleTag(TaggedItemBase): ...@@ -151,6 +148,8 @@ class UniwebArticleTag(TaggedItemBase):
class UniwebHomePage( class UniwebHomePage(
CalendarMixin, LegacyFooterMixin, PageInMenuMixin, MainHomePageMixin CalendarMixin, LegacyFooterMixin, PageInMenuMixin, MainHomePageMixin
): ):
base_form_class = UniwebHomePageAdminForm
### FIELDS ### FIELDS
calendar_page = models.ForeignKey( calendar_page = models.ForeignKey(
...@@ -168,39 +167,41 @@ class UniwebHomePage( ...@@ -168,39 +167,41 @@ class UniwebHomePage(
use_json_field=True, use_json_field=True,
) )
logo = models.ForeignKey( dark_logo = models.ForeignKey(
"wagtailimages.Image",
on_delete=models.PROTECT,
blank=True,
null=True,
verbose_name="Logo pro web (tmavá verze)",
help_text="Pokud žádné nezadáte, použije se default logo pirátů",
related_name="uniweb_dark_logo_image",
)
light_logo = models.ForeignKey(
"wagtailimages.Image", "wagtailimages.Image",
on_delete=models.PROTECT, on_delete=models.PROTECT,
blank=True, blank=True,
null=True, null=True,
verbose_name="Logo pro web", verbose_name="Logo pro web (světlá verze)",
help_text="Pokud žádné nezadáte, použije se default logo pirátů", help_text="Pokud žádné nezadáte, použije se default logo pirátů",
related_name="uniweb_logo_image", related_name="uniweb_light_logo_image",
) )
### Footer
hide_footer = models.BooleanField( hide_footer = models.BooleanField(
"skrýt patičku", default=False, help_text="Chcete skrýt patičku?" "skrýt patičku", default=False, help_text="Chcete skrýt patičku?"
) )
show_logo = models.BooleanField( show_logo = models.BooleanField(
"zobrazit logo", default=True, help_text="Zobrazit logo" "zobrazit logo", default=True, help_text="Chcete v hlavičce ukazovat logo?"
) )
footer_extra_content = RichTextField( footer_extra_content = RichTextField(
verbose_name="Extra obsah pod šedou patičkou", verbose_name="Extra obsah pod šedou patičkou",
blank=True, blank=True,
features=RICH_TEXT_DEFAULT_FEATURES, features=RICH_TEXT_DEFAULT_FEATURES,
) )
donation_page = models.URLField(
"URL pro příjem darů (tlačítko Darovat)",
blank=True,
null=True,
default="https://dary.pirati.cz",
)
### PANELS ### PANELS
settings_panels = [ settings_panels = [
FieldPanel("logo"),
MultiFieldPanel( MultiFieldPanel(
[ [
FieldPanel("matomo_id"), FieldPanel("matomo_id"),
...@@ -216,18 +217,20 @@ class UniwebHomePage( ...@@ -216,18 +217,20 @@ class UniwebHomePage(
], ],
"Kalendář", "Kalendář",
), ),
]
menu_panels = (
[
MultiFieldPanel( MultiFieldPanel(
[ [
FieldPanel("hide_footer"), FieldPanel("dark_logo"),
FieldPanel("light_logo"),
FieldPanel("show_logo"), FieldPanel("show_logo"),
FieldPanel("donation_page"),
], ],
"Patička", "Logo",
), )
] ]
+ MainMenuMixin.menu_panels
menu_panels = (
MainMenuMixin.menu_panels
+ SocialMixin.menu_panels + SocialMixin.menu_panels
+ [ + [
FieldPanel("menu_button_name"), FieldPanel("menu_button_name"),
...@@ -235,11 +238,16 @@ class UniwebHomePage( ...@@ -235,11 +238,16 @@ class UniwebHomePage(
] ]
) )
footer_panels = [
FieldPanel("hide_footer"),
FieldPanel("footer_extra_content"),
] + MainHomePageMixin.footer_panels
edit_handler = TabbedInterface( edit_handler = TabbedInterface(
[ [
ObjectList(MainHomePageMixin.content_panels, heading="Obsah"), ObjectList(MainHomePageMixin.content_panels, heading="Obsah"),
ObjectList(menu_panels, heading="Hlavička"), ObjectList(menu_panels, heading="Hlavička"),
ObjectList(MainHomePageMixin.footer_panels, heading="Patička"), ObjectList(footer_panels, heading="Patička"),
ObjectList(settings_panels, heading="Nastavení"), ObjectList(settings_panels, heading="Nastavení"),
ObjectList(MainHomePageMixin.promote_panels, heading="Metadata"), ObjectList(MainHomePageMixin.promote_panels, heading="Metadata"),
] ]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment