diff --git a/district/blocks.py b/district/blocks.py index 074af513c4e8b7495ad12537a462881fa1013c9d..aaad95fa2f9918005d0263581a72ff34176ee4f2 100644 --- a/district/blocks.py +++ b/district/blocks.py @@ -32,6 +32,7 @@ from shared.blocks import ProgramGroupBlockPopout as SharedProgramGroupBlockPopo from shared.blocks import ProgramItemBlock from shared.blocks import SecondaryCandidateBlock as SharedSecondaryCandidateBlockMixin + # --- BEGIN New blocks --- @@ -271,39 +272,6 @@ class SimplePersonBlock(StructBlock): label = "Osoba blok" -class CandidateListBlock(StructBlock): - candidate_list = blocks.StreamBlock( - label="Kandidáti", - local_blocks=[ - ( - "person_page", - PageChooserBlock( - label="Osoba", page_type=["district.DistrictPersonPage"] - ), - ), - ("person_block", SimplePersonBlock()), - ], - ) - candidate_list_big_count = IntegerBlock( - label="Počet kanditátů s velkým náhledem", default=7 - ) - candidate_list_shown_count = IntegerBlock( - label="Počet zobrazených kandidátů při načtení stránky (včetně velkých náhledů)", - default=16, - ) - - cta_text = CharBlock(label="Text 'call-to-action' baneru", required=False) - cta_link = URLBlock(label="Odkaz 'call-to-action' baneru", required=False) - cta_button_text = CharBlock( - label="Text tlačítka 'call-to-action' baneru", max_length=24, required=False - ) - - class Meta: - template = "district/blocks/candidate_list_block.html" - icon = "list-ol" - label = "List kanditátů" - - class CardLinkBlock(CardLinkBlockMixin): page = PageChooserBlock( label="Stránka", @@ -570,26 +538,31 @@ class SecondaryCandidateBlock(SharedSecondaryCandidateBlockMixin): class CandidateListBlock(SharedCandidateListBlockMixin): candidates = ListBlock( CandidateBlock(), - label="Kandidáti", + label=" ", # Hacky way to show no label ) class CandidateSecondaryListBlock(SharedCandidateSecondaryListBlockMixin): candidates = ListBlock( SecondaryCandidateBlock(), - label="Kandidáti", + label="Zbylí kandidáti na listině", ) class ProgramGroupWithCandidatesBlock(StructBlock): - title = CharBlock(label="Titulek části programu") + title = CharBlock( + label="Název programu", + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ..." + ) primary_candidates = CandidateListBlock( - label="Čelo kandidátky", + label="Osoby na čele kandidátky", + help_text="Zobrazí se ve velkých blocích na začátku stránky." ) secondary_candidates = CandidateSecondaryListBlock( - label="Ostatní kandidáti", + label="Ostatní osoby na kandidátce", + help_text="Zobrazí se v kompaktním seznamu pod čelem kandidátky." ) program = StreamBlock( diff --git a/district/migrations/0216_alter_districtnewprogrampage_program.py b/district/migrations/0216_alter_districtnewprogrampage_program.py index f56c9e7d094c5eb425661583d8e5b2af7450021d..81a76479931edd66f54f6c202392538e6c081227 100644 --- a/district/migrations/0216_alter_districtnewprogrampage_program.py +++ b/district/migrations/0216_alter_districtnewprogrampage_program.py @@ -7,15 +7,586 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('district', '0215_alter_districtelectioncampaignpage_candidates_and_more'), + ("district", "0215_alter_districtelectioncampaignpage_candidates_and_more"), ] operations = [ migrations.AlterField( - model_name='districtnewprogrampage', - name='program', - field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictElectionRootPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('program_group_with_candidates', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('primary_candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label='Kandidáti'))], label='Čelo kandidátky')), ('secondary_candidates', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(label='Nadpis')), ('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(label='Číslo')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False))]), label='Kandidáti'))], label='Ostatní kandidáti')), ('program', wagtail.blocks.StreamBlock([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictElectionCampaignPage', 'district.DistrictElectionProgramPage', 'district.DistrictElectionRootPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictPostElectionStrategyPage', 'district.DistrictProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))]))]))]))], blank=True, verbose_name='Programy'), + model_name="districtnewprogrampage", + name="program", + field=wagtail.fields.StreamField( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionCampaignPage", + "district.DistrictElectionProgramPage", + "district.DistrictElectionRootPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictPostElectionStrategyPage", + "district.DistrictProgramPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", required=False + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ( + "guarantor", + wagtail.blocks.PageChooserBlock( + label="Garant", + page_type=[ + "district.DistrictPersonPage" + ], + required=False, + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ( + "program_group_with_candidates", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "primary_candidates", + wagtail.blocks.StructBlock( + [ + ( + "candidates", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta", + label="Obrázek", + required=False, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popis" + ), + ), + ] + ), + label="Kandidáti", + ), + ) + ], + label="Čelo kandidátky", + ), + ), + ( + "secondary_candidates", + wagtail.blocks.StructBlock( + [ + ( + "heading", + wagtail.blocks.CharBlock( + label="Nadpis" + ), + ), + ( + "candidates", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "number", + wagtail.blocks.CharBlock( + label="Číslo" + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta", + label="Obrázek", + required=False, + ), + ), + ] + ), + label="Kandidáti", + ), + ), + ], + label="Ostatní kandidáti", + ), + ), + ( + "program", + wagtail.blocks.StreamBlock( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", + required=False, + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionCampaignPage", + "district.DistrictElectionProgramPage", + "district.DistrictElectionRootPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictPostElectionStrategyPage", + "district.DistrictProgramPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", + required=False, + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", + required=False, + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ( + "guarantor", + wagtail.blocks.PageChooserBlock( + label="Garant", + page_type=[ + "district.DistrictPersonPage" + ], + required=False, + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ] + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Programy", + ), ), ] diff --git a/district/migrations/0217_alter_districthomepage_menu.py b/district/migrations/0217_alter_districthomepage_menu.py index 354a29930c013aaf269aebcf9b3e9d8dd522a837..4a9449a159d2dbd2cbe2db20bc6466968db7797b 100644 --- a/district/migrations/0217_alter_districthomepage_menu.py +++ b/district/migrations/0217_alter_districthomepage_menu.py @@ -6,15 +6,89 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('district', '0216_alter_districtnewprogrampage_program'), + ("district", "0216_alter_districtnewprogrampage_program"), ] operations = [ migrations.AlterField( - model_name='districthomepage', - name='menu', - field=wagtail.fields.StreamField([('menu_item', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('menu_parent', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('menu_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Položky menu'))]))], blank=True, verbose_name='Položky'), + model_name="districthomepage", + name="menu", + field=wagtail.fields.StreamField( + [ + ( + "menu_item", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "menu_parent", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "menu_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Položky menu", + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Položky", + ), ), ] diff --git a/district/migrations/0218_auto_20240601_1530.py b/district/migrations/0218_auto_20240601_1530.py new file mode 100644 index 0000000000000000000000000000000000000000..af6e8d45d31f450942e2cb937a172f0329ce0751 --- /dev/null +++ b/district/migrations/0218_auto_20240601_1530.py @@ -0,0 +1,61 @@ +# Generated by Django 5.0.4 on 2024-06-01 13:30 + +from django.db import migrations + + +def migrate_programs(apps, schema_editor): + # Get the models + DistrictHomePage = apps.get_model("district", "DistrictHomePage") + DistrictElectionRootPage = apps.get_model("district", "DistrictElectionRootPage") + DistrictElectionCampaignPage = apps.get_model("district", "DistrictElectionCampaignPage") + Page = apps.get_model("wagtailcore", "Page") + + # Get the content type for DistrictElectionCampaignPage and DistrictElectionRootPage + ContentType = apps.get_model("contenttypes", "ContentType") + root_page_content_type = ContentType.objects.get( + app_label="district", model="districtelectionrootpage" + ) + campaign_page_content_type = ContentType.objects.get( + app_label="district", model="districtelectioncampaignpage" + ) + + # Function to get children of a certain type + def get_children_of_type(parent_page, content_type): + return Page.objects.filter( + path__startswith=parent_page.path, depth=parent_page.depth + 1, + content_type=content_type + ) + + for home_page in DistrictHomePage.objects.all(): + election_data = {} + + print(f"Processing DistrictHomePage: {home_page}") + + # Iterate over all child DistrictElectionRootPage instances + for election_root_page in get_children_of_type(home_page, root_page_content_type): + print(f" Processing DistrictElectionRootPage: {election_root_page} with title: {election_root_page.title}") + + # Get the children of type DistrictElectionCampaignPage + campaign_pages = get_children_of_type(election_root_page, campaign_page_content_type) + + for campaign_page in campaign_pages: + print(f" Found campaign page: {campaign_page} with title: {campaign_page.title}") + + election_data["title"] = election_root_page.title + + + print(election_data) + + # Stop migration for debugging purposes + raise ValueError("Stopping migration for debugging purposes") + + +class Migration(migrations.Migration): + + dependencies = [ + ('district', '0217_alter_districthomepage_menu'), + ] + + operations = [ + migrations.RunPython(migrate_programs) + ] diff --git a/district/models.py b/district/models.py index 0a008f01f1c7687c2d152f3357c7210107542b1b..5b368e4d09424e5023c614485b190f20a61db00f 100644 --- a/district/models.py +++ b/district/models.py @@ -51,8 +51,8 @@ from shared.models import ( MainPersonPageMixin, MainProgramPageMixin, MainSimplePageMixin, - PdfPageMixin, PageInMenuMixin, + PdfPageMixin, SharedTaggedDistrictArticle, SubpageMixin, ) @@ -432,7 +432,7 @@ class DistrictCenterPage( SubpageMixin, MetadataPageMixin, PageInMenuMixin, - Page + Page, ): ### FIELDS diff --git a/district/templates/district/district_article_page.html b/district/templates/district/district_article_page.html index dc9121987657158aff3ccc25237cb2a82ed51b79..c43dc3736130fcb86ae32958c9c7604117a56949 100644 --- a/district/templates/district/district_article_page.html +++ b/district/templates/district/district_article_page.html @@ -1 +1 @@ -{% extends "styleguide2/article_page.html" %} \ No newline at end of file +{% extends "styleguide2/article_page.html" %} diff --git a/donate/migrations/0048_alter_donatehomepage_menu.py b/donate/migrations/0048_alter_donatehomepage_menu.py index f0bed8ed1e10c5c9e3f92013625dc59b698eaea0..c75106fe506e1bae1645eecf998b6bd426e335ec 100644 --- a/donate/migrations/0048_alter_donatehomepage_menu.py +++ b/donate/migrations/0048_alter_donatehomepage_menu.py @@ -6,15 +6,89 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('donate', '0047_alter_donatehomepage_menu'), + ("donate", "0047_alter_donatehomepage_menu"), ] operations = [ migrations.AlterField( - model_name='donatehomepage', - name='menu', - field=wagtail.fields.StreamField([('menu_item', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('menu_parent', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('menu_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Položky menu'))]))], blank=True, verbose_name='Menu'), + model_name="donatehomepage", + name="menu", + field=wagtail.fields.StreamField( + [ + ( + "menu_item", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "menu_parent", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "menu_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Položky menu", + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Menu", + ), ), ] diff --git a/elections/migrations/0036_alter_electionshomepage_menu.py b/elections/migrations/0036_alter_electionshomepage_menu.py index 27b9522be06570002a110ab1c350f71c1db493e2..f07afae4e47327040de48023216806191d92c8fd 100644 --- a/elections/migrations/0036_alter_electionshomepage_menu.py +++ b/elections/migrations/0036_alter_electionshomepage_menu.py @@ -6,15 +6,89 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('elections', '0035_alter_electionsfullprogrampage_content'), + ("elections", "0035_alter_electionsfullprogrampage_content"), ] operations = [ migrations.AlterField( - model_name='electionshomepage', - name='menu', - field=wagtail.fields.StreamField([('menu_item', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('menu_parent', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('menu_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Položky menu'))]))], blank=True, verbose_name='Položky'), + model_name="electionshomepage", + name="menu", + field=wagtail.fields.StreamField( + [ + ( + "menu_item", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "menu_parent", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "menu_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Položky menu", + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Položky", + ), ), ] diff --git a/main/blocks.py b/main/blocks.py index 15007f10727d28bdda1be134452783fd446d3fa2..0f1d243d2f278b90d3716e81ae4842ac7adcccef 100644 --- a/main/blocks.py +++ b/main/blocks.py @@ -210,7 +210,10 @@ class TeamBlock(StructBlock): class ElectionsProgramBlock(StructBlock): - title = CharBlock(label="Titulek části programu") + title = CharBlock( + label="Název programu", + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ..." + ) program_page = PageChooserBlock( label="Stránka", diff --git a/main/migrations/0092_alter_mainprogrampage_program.py b/main/migrations/0092_alter_mainprogrampage_program.py index e684039697d8037bc1087525d7b5dc166086a3d3..1e5d732c61c80f4d1e595c20100d53bf0fe47045 100644 --- a/main/migrations/0092_alter_mainprogrampage_program.py +++ b/main/migrations/0092_alter_mainprogrampage_program.py @@ -7,15 +7,264 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('main', '0091_alter_mainprogrampage_program'), + ("main", "0091_alter_mainprogrampage_program"), ] operations = [ migrations.AlterField( - model_name='mainprogrampage', - name='program', - field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['main.MainArticlesPage', 'main.MainArticlePage', 'main.MainProgramPage', 'main.MainPeoplePage', 'main.MainPersonPage', 'main.MainSimplePage', 'main.MainContactPage', 'main.MainCrossroadPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('elections_program', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('program_page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['elections.ElectionsFullProgramPage'], required=False))]))], blank=True, verbose_name='Programy'), + model_name="mainprogrampage", + name="program", + field=wagtail.fields.StreamField( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", required=False + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ( + "guarantor", + wagtail.blocks.PageChooserBlock( + label="Garant", + page_type=[ + "district.DistrictPersonPage" + ], + required=False, + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ( + "elections_program", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "program_page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "elections.ElectionsFullProgramPage" + ], + required=False, + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Programy", + ), ), ] diff --git a/main/migrations/0093_alter_mainhomepage_menu.py b/main/migrations/0093_alter_mainhomepage_menu.py index cbc6695715ff9c1a6da7d6a85e29d7168393e902..9c00b5c7f54d9d44a333dacaf9ccda2edb8355a1 100644 --- a/main/migrations/0093_alter_mainhomepage_menu.py +++ b/main/migrations/0093_alter_mainhomepage_menu.py @@ -6,15 +6,89 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('main', '0092_alter_mainprogrampage_program'), + ("main", "0092_alter_mainprogrampage_program"), ] operations = [ migrations.AlterField( - model_name='mainhomepage', - name='menu', - field=wagtail.fields.StreamField([('menu_item', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))])), ('menu_parent', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('menu_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.', label='Titulek', required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Položky menu'))]))], blank=True, verbose_name='Položky'), + model_name="mainhomepage", + name="menu", + field=wagtail.fields.StreamField( + [ + ( + "menu_item", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "menu_parent", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "menu_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", + label="Titulek", + required=True, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Položky menu", + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Položky", + ), ), ] diff --git a/majak/settings/base.py b/majak/settings/base.py index 7c903eee3d4a0a3970543aea4a1465f1e234ac31..a81f7b5ea40c049c83923655f3af19fac22eec5e 100644 --- a/majak/settings/base.py +++ b/majak/settings/base.py @@ -227,7 +227,7 @@ WAGTAIL_SITE_NAME = "Maják" WAGTAIL_USER_TIME_ZONES = ["Europe/Prague"] WAGTAIL_ALLOW_UNICODE_SLUGS = False WAGTAILADMIN_NOTIFICATION_INCLUDE_SUPERUSERS = False -WAGTAILIMAGES_FEATURE_DETECTION_ENABLED = True +WAGTAILIMAGES_FEATURE_DETECTION_ENABLED = False WAGTAILIMAGES_INDEX_PAGE_SIZE = 30 WAGTAILIMAGES_USAGE_PAGE_SIZE = 30 WAGTAILIMAGES_CHOOSER_PAGE_SIZE = 15 diff --git a/shared/blocks/base.py b/shared/blocks/base.py index e54da16a8829069fd7325d007c491759395d6041..78058310e62eefedb297386de56991655642d83d 100644 --- a/shared/blocks/base.py +++ b/shared/blocks/base.py @@ -51,7 +51,7 @@ class MenuItemBlock(blocks.StructBlock): title = blocks.CharBlock( label="Titulek", help_text="Pokud není odkazovaná stránka na Majáku, použij možnost zadání samotné adresy níže.", - required=True + required=True, ) page = blocks.PageChooserBlock(label="Stránka", required=False) link = blocks.URLBlock(label="Odkaz", required=False) diff --git a/shared/blocks/main.py b/shared/blocks/main.py index 011d8b90ecc9b71aa5c009978ede55c78e1e1f78..cc5adf39d7dd0bccbcb5b7096809474984156b2d 100644 --- a/shared/blocks/main.py +++ b/shared/blocks/main.py @@ -1,5 +1,4 @@ from django.utils.text import slugify -from wagtail import blocks from wagtail.blocks import ( CharBlock, ListBlock, @@ -12,7 +11,6 @@ from wagtail.blocks import ( from wagtail.documents.blocks import DocumentChooserBlock from wagtail.images.blocks import ImageChooserBlock -from .base import MenuItemBlock as MenuItemBlockBase # Mixins (or used as such) @@ -256,7 +254,10 @@ class PeopleOverviewBlock(StructBlock): class ProgramGroupBlockMixin(StructBlock): - title = CharBlock(label="Titulek části programu") + title = CharBlock( + label="Název programu", + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ..." + ) # point_list = ListBlock(ProgramBlock(), label="Jednotlivé články programu") class Meta: @@ -357,12 +358,12 @@ class CandidateListBlock(StructBlock): class CandidateSecondaryListBlock(StructBlock): - heading = CharBlock(label="Nadpis") + heading = CharBlock(label="Nadpis zbytku kandidátky", default="Ostatní kandidátky") # NOTE: should be changed in mixed-in blocks. candidates = ListBlock( SecondaryCandidateBlock(), - label="Kandidáti", + label="Zbylí kandidáti na listině", ) class Meta: diff --git a/shared/models/main.py b/shared/models/main.py index 4b8e7c70a08ecf34c7f53f9fd93e5cc468387f28..e5499c570d84879e408a2e6b580dfaa6a7aa0f6a 100644 --- a/shared/models/main.py +++ b/shared/models/main.py @@ -196,10 +196,7 @@ class MainMenuMixin(Page): ) menu = StreamField( - [ - ("menu_item", MenuItemBlock()), - ("menu_parent", MenuParentBlock()) - ], + [("menu_item", MenuItemBlock()), ("menu_parent", MenuParentBlock())], verbose_name="Položky", blank=True, use_json_field=True, diff --git a/shared/static/styleguide2/pirati-ui.svg b/shared/static/styleguide2/pirati-ui.svg index ffc20eccf43c3d89476c0124b2475cd314fe2ecd..c6e3a71ad07f5229dda5d69c9289dc5ce339be12 100644 --- a/shared/static/styleguide2/pirati-ui.svg +++ b/shared/static/styleguide2/pirati-ui.svg @@ -127,4 +127,4 @@ <glyph unicode="" glyph-name="price-tags" horiz-adv-x="1280" d="M1232 960h-384c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l476.118 476.118c18.666 18.666 33.94 55.54 33.94 81.94v384c0 26.4-21.6 48-48 48zM992 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM128 416l544 544h-80c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l30.058 30.058-416 416z" /> <glyph unicode="" glyph-name="twitter" horiz-adv-x="1001" d="M596.009 526.629l372.819 433.371h-88.346l-323.718-376.29-258.553 376.29h-298.21l390.983-569.018-390.983-454.457h88.351l341.855 397.375 273.051-397.375h298.21l-405.458 590.103zM475 385.969l-354.815 507.521h135.702l624.636-893.48h-135.702l-269.821 385.959z" /> <glyph unicode="" glyph-name="stats-dots" d="M128 64h896v-128h-1024v1024h128zM288 128c-53.020 0-96 42.98-96 96s42.98 96 96 96c2.828 0 5.622-0.148 8.388-0.386l103.192 171.986c-9.84 15.070-15.58 33.062-15.58 52.402 0 53.020 42.98 96 96 96s96-42.98 96-96c0-19.342-5.74-37.332-15.58-52.402l103.192-171.986c2.766 0.238 5.56 0.386 8.388 0.386 2.136 0 4.248-0.094 6.35-0.23l170.356 298.122c-10.536 15.408-16.706 34.036-16.706 54.11 0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96-2.14 0-4.248 0.094-6.35 0.232l-170.356-298.124c10.536-15.406 16.706-34.036 16.706-54.11 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 19.34 5.74 37.332 15.578 52.402l-103.19 171.984c-2.766-0.238-5.56-0.386-8.388-0.386s-5.622 0.146-8.388 0.386l-103.192-171.986c9.84-15.068 15.58-33.060 15.58-52.4 0-53.020-42.98-96-96-96z" /> -</font></defs></svg> \ No newline at end of file +</font></defs></svg> diff --git a/shared/templates/styleguide2/includes/atoms/dropdown/dropdown_item.html b/shared/templates/styleguide2/includes/atoms/dropdown/dropdown_item.html index 269c90310a2d958098daae6d71017f0645999928..5fa42b798b89d1d3d14a0c17e26082519f8a045f 100644 --- a/shared/templates/styleguide2/includes/atoms/dropdown/dropdown_item.html +++ b/shared/templates/styleguide2/includes/atoms/dropdown/dropdown_item.html @@ -2,4 +2,4 @@ <a href="{{ url }}"> {{ title }} </a> -</li> \ No newline at end of file +</li> diff --git a/shared/templates/styleguide2/includes/molecules/dropdown/dropdown.html b/shared/templates/styleguide2/includes/molecules/dropdown/dropdown.html index 896e8d713c3b8c5da6b0cae4b2d77d1ee785c75d..2f91e9860f1fb888736f75dd38c0b49b3044a453 100644 --- a/shared/templates/styleguide2/includes/molecules/dropdown/dropdown.html +++ b/shared/templates/styleguide2/includes/molecules/dropdown/dropdown.html @@ -19,4 +19,4 @@ {% include "styleguide2/includes/atoms/dropdown/dropdown_item.html" with title=item.title url=url %} {% endfor %} </ul> -</div> \ No newline at end of file +</div>