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
Branches
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 wagtail import blocks
from ..children import CardLinkWithHeadlineBlockMixin, PersonCustomPositionBlockMixin
......
......@@ -43,7 +43,9 @@
{% block content %}{% endblock content %}
{% if page.root_page.hide_footer is not True %}
{% include 'styleguide2/includes/organisms/layout/footer.html' %}
{% endif %}
<script src="{% static 'styleguide2/main.js' %}"></script>
......
{% 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 %}
<div
......@@ -13,8 +21,8 @@
>
<img
class="w-[160px] lg:w-[190px]"
src="{% static 'styleguide2/images/district/logo-full-white.svg' %}"
alt="Logo Pirátské strany"
src="{% if light_logo %}{{ light_logo.url }}{% else %}{% static 'styleguide2/images/district/logo-full-white.svg' %}{% endif %}"
alt="{% if light_logo %}{{ light_logo.alt }}{% else %}Pirátské logo{% endif %}"
>
<div class="font-alt text-xl w-[100px]">
......@@ -36,8 +44,8 @@
>
<img
class="w-[160px] lg:w-[190px]"
src="{% static 'styleguide2/images/district/logo-full-black.svg' %}"
alt="Logo Pirátské strany"
src="{% if dark_logo %}{{ dark_logo.url }}{% else %}{% static 'styleguide2/images/district/logo-full-black.svg' %}{% endif %}"
alt="{% if dark_logo %}{{ dark_logo.alt }}{% else %}Pirátské logo{% endif %}"
>
<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 -->
<nav
......@@ -21,6 +29,7 @@
"
>
<div class="flex items-center xl:items-start">
{% if page.root_page.show_logo is not False %}
<!-- BEGIN Logo-->
<a
href="{{ page.root_page.url }}"
......@@ -29,17 +38,18 @@
{% block navbar_logo_images %}
<img
class="navbar__logo--white w-[150px] lg:w-[180px]"
src="{% static 'styleguide2/images/logo-full-white.svg' %}"
alt="Pirátské logo"
src="{% if light_logo %}{{ light_logo.url }}{% else %}{% static 'styleguide2/images/logo-full-white.svg' %}{% endif %}"
alt="{% if light_logo %}{{ light_logo.alt }}{% else %}Pirátské logo{% endif %}"
>
<img
class="navbar__logo--black w-[150px] lg:w-[180px]"
src="{% static 'styleguide2/images/logo-full-black.svg' %}"
alt="Pirátské logo"
src="{% if dark_logo %}{{ dark_logo.url }}{% else %}{% static 'styleguide2/images/logo-full-black.svg' %}{% endif %}"
alt="{% if dark_logo %}{{ dark_logo.alt }}{% else %}Pirátské logo{% endif %}"
>
{% endblock %}
</a>
<!-- END Logo -->
{% endif %}
</div>
<div class="flex-col gap-3 xl:flex hidden">
......@@ -177,13 +187,15 @@
>
<div class="grid-container">
<div class="grid-left-side">
{% if page.root_page.show_logo is not False %}
{% block popout_logo_image %}
<img
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"
>
{% endblock %}
{% endif %}
</div>
</div>
......
from wagtail.blocks import (
CharBlock,
ListBlock,
PageChooserBlock,
StructBlock,
URLBlock,
)
from wagtail.blocks import CharBlock, ListBlock, PageChooserBlock, StructBlock, URLBlock
from shared.blocks import (
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
from django.db import migrations
from shared.blocks import MenuItemBlock
......@@ -11,24 +12,25 @@ def migrate_menu(apps, schema_editor):
new_menu_blocks = []
for top_menu_item in home_page.top_menu:
new_menu_blocks.append((
new_menu_blocks.append(
(
"menu_item",
MenuItemBlock().to_python({
MenuItemBlock().to_python(
{
"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.save()
class Migration(migrations.Migration):
dependencies = [
('uniweb', '0087_alter_uniwebarticlepage_options_and_more'),
("uniweb", "0087_alter_uniwebarticlepage_options_and_more"),
]
operations = [
migrations.RunPython(migrate_menu)
]
operations = [migrations.RunPython(migrate_menu)]
Source diff could not be displayed: it is too large. Options to address this: view the blob.
# 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
from shared_legacy.utils import make_promote_panels
from .blocks import PeopleGroupBlock, TeamBlock
from .constants import (
ARTICLES_PER_LINE,
CALENDAR_EVENTS_CHOICES,
FUTURE,
)
from .constants import ARTICLES_PER_LINE, CALENDAR_EVENTS_CHOICES, FUTURE
from .forms import UniwebHomePageAdminForm
class ArticlesBlock(blocks.StructBlock):
......@@ -151,6 +148,8 @@ class UniwebArticleTag(TaggedItemBase):
class UniwebHomePage(
CalendarMixin, LegacyFooterMixin, PageInMenuMixin, MainHomePageMixin
):
base_form_class = UniwebHomePageAdminForm
### FIELDS
calendar_page = models.ForeignKey(
......@@ -168,39 +167,41 @@ class UniwebHomePage(
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",
on_delete=models.PROTECT,
blank=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ů",
related_name="uniweb_logo_image",
related_name="uniweb_light_logo_image",
)
### Footer
hide_footer = models.BooleanField(
"skrýt patičku", default=False, help_text="Chcete skrýt patičku?"
)
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(
verbose_name="Extra obsah pod šedou patičkou",
blank=True,
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
settings_panels = [
FieldPanel("logo"),
MultiFieldPanel(
[
FieldPanel("matomo_id"),
......@@ -216,18 +217,20 @@ class UniwebHomePage(
],
"Kalendář",
),
]
menu_panels = (
[
MultiFieldPanel(
[
FieldPanel("hide_footer"),
FieldPanel("dark_logo"),
FieldPanel("light_logo"),
FieldPanel("show_logo"),
FieldPanel("donation_page"),
],
"Patička",
),
"Logo",
)
]
menu_panels = (
MainMenuMixin.menu_panels
+ MainMenuMixin.menu_panels
+ SocialMixin.menu_panels
+ [
FieldPanel("menu_button_name"),
......@@ -235,11 +238,16 @@ class UniwebHomePage(
]
)
footer_panels = [
FieldPanel("hide_footer"),
FieldPanel("footer_extra_content"),
] + MainHomePageMixin.footer_panels
edit_handler = TabbedInterface(
[
ObjectList(MainHomePageMixin.content_panels, heading="Obsah"),
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(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