Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • feat-more-blocks
  • feat-rework-election-page
  • feat/custom-css
  • feat/dary-improvements
  • feat/geo-feature-collections
  • feat/hideable-tweets
  • feat/instagram-feed
  • feat/people-octopus-imports
  • feat/pirstan-changes
  • feat/redesign-fixes-3
  • feat/redesign-improvements-10
  • feat/redesign-improvements-8
  • feat/separate-import-thread
  • feature/crypto-widget
  • features/add-custom-numbering-for-candidates
  • features/add-dynamic-candidate-numbers
  • features/add-embed-to-articles
  • features/add-feature-enlarging-sub-block
  • features/add-link-to-images
  • features/add-pdf-page
  • features/add-redirects
  • features/add-thumbnail-principle-to-uniweb-and-senate
  • features/add-timeline
  • features/add-typed-table
  • features/create-collapsible-extra-legal-info
  • features/create-mastodon-feed-block
  • features/create-wordcloud-from-article-page
  • features/donation-panel-should-be-optional
  • features/extend-hero-banner
  • features/fix-broken-calendar-categories
  • master
  • test
32 results

Target

Select target project
  • to/majak
  • b1242/majak
2 results
Select Git revision
  • fix1
  • localwebs
  • master
  • pdp
  • seo1
  • target-groups
  • test
7 results
Show changes
Showing
with 1154 additions and 0 deletions
# Generated by Django 4.0.3 on 2022-04-27 13:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("districts", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="districtshomepage",
name="title_suffix",
field=models.CharField(
blank=True,
help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice | Piráti', výsledný titulek bude 'Kontakt | MS Pardubice | Piráti'. Pokud příponu nevyplníte, použije se název webu.",
max_length=100,
null=True,
verbose_name="Přípona titulku stránky",
),
),
]
# Generated by Django 5.0.6 on 2024-06-13 10:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("districts", "0002_districtshomepage_title_suffix"),
]
operations = [
migrations.AlterField(
model_name="districtshomepage",
name="title_suffix",
field=models.CharField(
blank=True,
help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
max_length=100,
null=True,
verbose_name="Přípona titulku stránky",
),
),
]
# Generated by Django 5.0.6 on 2024-07-02 06:13
from django.db import migrations, models
def prefill_title_suffix(apps, schema_editor):
DistrictsHomePage = apps.get_model("districts", "DistrictsHomePage")
for page in DistrictsHomePage.objects.all():
page.meta_title_suffix = page.title_suffix
page.save()
class Migration(migrations.Migration):
dependencies = [
("districts", "0003_alter_districtshomepage_title_suffix"),
]
operations = [
migrations.AddField(
model_name="districtshomepage",
name="meta_title_suffix",
field=models.CharField(
blank=True,
help_text='Umožňuje přidat příponu k titulku stránky běžně zobrazovanému na záložce s touto stránkou. Pokud vyplníš například "Piráti Pardubicko", záložka s kontakty bude nadepsaná "Kontakty | Piráti Pardubicko".',
max_length=100,
null=True,
verbose_name="Přípona meta titulku stránky",
),
),
migrations.AlterField(
model_name="districtshomepage",
name="title_suffix",
field=models.CharField(
blank=True,
help_text='Umožňuje přidat příponu k názvu stránky. Pokud vyplníš například "Pardubicko", v levém horním rohu bude logo Pirátské strany a text "| Pardubicko".',
max_length=100,
null=True,
verbose_name="Přípona názvu stránky",
),
),
migrations.RunPython(prefill_title_suffix),
]
from django.db import models
from django.utils.translation import gettext_lazy
from wagtail.admin.panels import CommentPanel, FieldPanel, HelpPanel, MultiFieldPanel
from wagtail.models import Page
from wagtailmetadata.models import MetadataPageMixin
from shared.models import ExtendedMetadataHomePageMixin
from tuning import admin_help
class DistrictsHomePage(ExtendedMetadataHomePageMixin, MetadataPageMixin, Page):
### FIELDS
matomo_id = models.IntegerField(
"Matomo ID pro sledování návštěvnosti", blank=True, null=True
)
### PANELS
promote_panels = [
MultiFieldPanel(
[
FieldPanel("seo_title"),
FieldPanel("search_description"),
FieldPanel("search_image"),
HelpPanel(admin_help.build(admin_help.IMPORTANT_TITLE)),
],
gettext_lazy("Common page configuration"),
),
]
settings_panels = [
FieldPanel("matomo_id"),
FieldPanel("title_suffix"),
FieldPanel("meta_title_suffix"),
CommentPanel(),
]
### RELATIONS
subpage_types = []
### OTHERS
class Meta:
verbose_name = "Krajský rozcestník"
{% load static wagtailcore_tags wagtailimages_tags wagtailmetadata_tags %}
<!doctype html>
<html lang="cs">
<head>
{% if request.in_preview_panel %}
<base target="_blank">
{% endif %}
<!-- Font loader -->
<script type="text/javascript">
WebFontConfig = {
google: { families: ['Roboto+Condensed:300,300i,400,400i,700,700i:latin-ext', 'Bebas+Neue'] }
};
(function () {
var wf = document.createElement('script');
wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
<!-- Meta -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% meta_tags %}
{% if settings.MAJAK_ENV == "test" %}
<meta name="robots" content="noindex, nofollow">
{% endif %}
<!-- Favicon -->
{% include "shared/favicon_snippet.html" %}
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="{% static "shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css" %}">
<!-- Styles -->
<link href="{% static "donate/assets/css/style.css" %}" rel="stylesheet">
<link href="{% static "donate/assets/css/icons.css" %}" rel="stylesheet">
{% if page.matomo_id %}
{% include "shared/matomo_snippet.html" with matomo_id=page.matomo_id %}
{% endif %}
</head>
<body id="top">
<!-- HEADER -->
<div class="pre-navbar d-none d-lg-flex" style="background:black;">
<div class="container d-flex justify-content-end">
<a href="https://www.pirati.cz/" class="header_link header_link--desktop mr-4 py-2" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a>
</div>
</div>
<nav class="navbar navbar-expand-xl navbar-dark">
<div class="container">
<div class="brand-wrapper">
<img src="{% static "donate/img/logo_napis_white.svg" %}" alt="Logo Pirátské strany">
<h1 class="lead ml-5 mt-3" style="color: #FFFFFF; font-size: 3rem;">{{ page.seo_title }}</h1>
</div>
</div><!-- /container -->
</nav>
<!-- /HEADER -->
{% block content %}{% endblock %}
<!-- FOOTER -->
<footer id="kontakt">
<div class="footer__bottom">
<div class="container">
<div class="row">
<div class="col-12 col-md-6 mb-3 mb-md-0">
<p class="mb-0">
<span class="inline-block" style="transform: scale(-1, 1);">&copy;</span>
{% now "Y" %} Piráti. <a href="https://wiki.pirati.cz/rules/prah#licence" target="_blank" class="underline">CC-BY-SA 4.0</a>.<br>
<br>
Všechna práva vyhlazena. Sdílejte a nechte ostatní sdílet za stejných podmínek.
<br>
Zadavatel | zpracovatel: Česká pirátská strana
</p>
</div><!-- /column -->
</div><!-- /row -->
</div><!-- /container -->
</div><!-- /footer_bottom -->
</footer>
<!-- /FOOTER -->
</body>
</html>
{% extends "districts/base.html" %}
{% block content %}
<!-- CONTENT -->
<main role="main">
<section class="section--primary">
<div class="container">
<div class="row mb-4">
<div class="region-map col-xl-7 col-lg-8 d-none d-md-block">
<svg height="400" width="600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<a href="https://praha.pirati.cz">
<path data-info="Praha" d="M256.167,247.61L263.167,244.11L265.83399999999995,245.61C265.83399999999995,245.61,270.00299999999993,246.41500000000002,270.5009999999999,245.943S269.33399999999995,241.61,269.33399999999995,241.61L272.33399999999995,239.77700000000002L276.5009999999999,240.61L281.1679999999999,238.11L283.6679999999999,234.77700000000002L289.1679999999999,234.94400000000002L290.5009999999999,237.27700000000002L293.6679999999999,238.27700000000002L294.6679999999999,239.77700000000002L298.33499999999987,238.94400000000002L297.33499999999987,242.61100000000002L302.1679999999999,243.77800000000002L304.33499999999987,247.27800000000002H307.50199999999984L310.50199999999984,251.11100000000002L310.00199999999984,254.11100000000002L305.1689999999998,254.61100000000002L301.8359999999998,256.944L304.1689999999998,258.944L304.6689999999998,264.111L301.1689999999998,267.27799999999996L297.1689999999998,264.611L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.167,247.61Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://jihocesky.pirati.cz">
<path data-info="Jihočeský" d="M173.5,445.61L179.5,447.36L185.61599999999999,452.692L184.61599999999999,455.789L188.963,462.31L196.57,463.669L198.743,470.46099999999996L203.905,477.25299999999993L206.079,483.50199999999995L211.78400000000002,483.77299999999997L221.56500000000003,493.01L226.72700000000003,494.911L232.43333330000002,501.704L228.35800000000003,506.051L237.32400000000004,515.0169999999999H247.64800000000005L257.97200000000004,516.9179999999999L266.39400000000006,521.8089999999999L278.34800000000007,511.75599999999986L280.79300000000006,505.50799999999987L287.0420000000001,510.9419999999999L293.83400000000006,512.2999999999998L299.2680000000001,510.94199999999984L308.2340000000001,516.9189999999999L311.7660000000001,511.2139999999999L310.68000000000006,505.77999999999986L311.76700000000005,496.54299999999984L319.3740000000001,490.29499999999985L322.09100000000007,482.4159999999998L329.1550000000001,482.68699999999984L338.9360000000001,485.67499999999984L340.5660000000001,482.68699999999984L338.1210000000001,478.33999999999986L339.4790000000001,472.36199999999985L341.9240000000001,465.02599999999984L341.1090000000001,455.5169999999998L340.5660000000001,445.4639999999998L343.5540000000001,439.75899999999984L352.5200000000001,442.74699999999984L360.1270000000001,444.3779999999998L362.5720000000001,452.5279999999998L374.2550000000001,449.8109999999998L377.5150000000001,445.4629999999998L385.3940000000001,445.7349999999998L397.3490000000001,451.9829999999998L401.4240000000001,453.88499999999976L405.5010000000001,459.85699999999974L408.7510000000001,452.85699999999974L404.7510000000001,446.60699999999974L400.2510000000001,442.60699999999974L405.7510000000001,436.85699999999974L406.7510000000001,430.60699999999974L412.0010000000001,429.60699999999974L412.7510000000001,425.10699999999974L405.5010000000001,419.35699999999974L398.5010000000001,420.85699999999974L390.0010000000001,420.60699999999974L383.5010000000001,414.10699999999974L384.5010000000001,408.60699999999974L381.2510000000001,404.10699999999974L374.0010000000001,405.35699999999974L366.0010000000001,402.35699999999974L361.0010000000001,405.10699999999974L355.5010000000001,400.10699999999974L352.7510000000001,395.10699999999974L346.5010000000001,391.60699999999974L341.7510000000001,394.35699999999974L336.2510000000001,389.85699999999974L333.5010000000001,384.85699999999974L334.7510000000001,380.35699999999974L332.0010000000001,374.60699999999974V366.85699999999974L335.0010000000001,363.10699999999974L335.2510000000001,356.10699999999974L333.5010000000001,349.60699999999974L330.2510000000001,344.85699999999974L328.0010000000001,339.35699999999974L323.7510000000001,339.85699999999974L316.0010000000001,333.35699999999974L310.7510000000001,337.10699999999974L312.2510000000001,344.85699999999974L305.7510000000001,348.35699999999974L302.2510000000001,352.35699999999974L295.0010000000001,349.35699999999974L287.0010000000001,347.35699999999974L282.5010000000001,348.10699999999974L276.0010000000001,345.10699999999974L269.7510000000001,348.85699999999974C269.7510000000001,348.85699999999974,266.10300000000007,348.62199999999973,265.5010000000001,348.60699999999974S261.5010000000001,343.60699999999974,261.5010000000001,343.60699999999974H255.5010000000001L252.5010000000001,347.35699999999974L239.0010000000001,348.85699999999974L235.2510000000001,344.85699999999974H230.5010000000001L227.7510000000001,349.60699999999974L220.7510000000001,353.10699999999974L216.2510000000001,350.85699999999974L202.5010000000001,350.35699999999974L199.7510000000001,354.35699999999974L201.2510000000001,359.85699999999974V364.35699999999974L200.5010000000001,372.10699999999974L204.0010000000001,377.85699999999974L199.5010000000001,384.85699999999974L196.0010000000001,387.60699999999974V391.35699999999974L193.0010000000001,394.10699999999974L196.7510000000001,398.35699999999974L192.0010000000001,400.85699999999974L195.0010000000001,406.85699999999974L192.5010000000001,412.85699999999974L186.5010000000001,415.10699999999974L185.0010000000001,417.85699999999974L180.5010000000001,416.35699999999974L179.2510000000001,426.10699999999974L181.7510000000001,430.10699999999974L180.5010000000001,433.60699999999974L175.2510000000001,435.85699999999974L173.57600000000008,441.83199999999977L173.5,445.61Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://jihomoravsky.pirati.cz">
<path data-info="Jihomoravský" d="M546.667,336.777L540.5,330.61H522L518.333,336.61H506L502.75,339.86L501.5,344.61L506.75,348.11L505.25,351.11L500.25,354.11L503,360.61L500.75,365.36L502.75,370.36L503.25,379.36L493.5,383.86L491.75,387.86L487.25,390.86L491,395.61L487,398.86L485.75,403.36L491,408.61L485.25,412.11L486.75,417.11C486.75,417.11,491.12,419.697,491.25,420.36S489.5,423.61,489.5,423.61L485.75,424.61L483.5,430.11L478.75,428.86L475.75,433.61L470.25,436.36L464.5,434.61L460.25,437.11L454,432.86L447,435.86L444.75,441.11H438.75L435.5,445.61L432,446.61L429,452.36L423.25,448.11L417.75,453.86L413.25,450.61L408.75,452.86L405.5,459.86L409.03,460.409L416.09299999999996,461.223L424.24299999999994,467.201L432.39399999999995,468.016L434.29499999999996,464.755L442.44499999999994,465.57L454.3999999999999,473.992L455.7579999999999,478.34000000000003L471.51499999999993,487.033L490.26199999999994,486.762L504.66099999999994,489.479L510.09499999999997,483.22999999999996L513.083,475.08L523.136,474.537L527.483,479.155L537.536,480.78499999999997L538.8939999999999,487.578L544.0559999999999,485.947L553.0219999999999,491.382L561.1719999999999,489.208L566.6059999999999,492.74L569.3229999999999,506.324L573.6709999999998,505.781L576.9309999999998,494.37L579.1049999999998,486.491L588.0709999999998,475.351L590.2439999999998,467.74399999999997L593.5049999999998,466.38599999999997L598.3949999999998,461.496H603.5569999999998L613.6099999999998,465.84299999999996L622.3039999999997,471.00499999999994L630.9969999999997,465.29999999999995L638.3329999999997,470.18999999999994L644.8539999999997,468.55999999999995L651.6459999999997,462.3109999999999L649.4999999999998,459.61099999999993L645.7499999999998,454.11099999999993L639.4999999999998,452.61099999999993L639.2499999999998,448.61099999999993L633.4999999999998,445.11099999999993L626.9999999999998,447.61099999999993L621.4999999999998,442.61099999999993L616.2499999999998,442.86099999999993L616.4999999999998,437.11099999999993L608.2499999999998,436.11099999999993L601.9999999999998,432.61099999999993L602.7499999999998,426.86099999999993L599.7499999999998,423.61099999999993L591.4999999999998,426.86099999999993L587.7499999999998,422.11099999999993L592.7499999999998,416.86099999999993L597.2499999999998,413.86099999999993L597.9999999999998,408.86099999999993L591.2499999999998,408.11099999999993L592.7499999999998,402.86099999999993L589.7499999999998,397.61099999999993L593.3749999999998,392.73599999999993L589.4999999999998,386.11099999999993V382.36099999999993L586.3749999999998,379.23599999999993H579.5L578.5,373.86099999999993V368.86099999999993L572.5,365.11099999999993V360.61099999999993L568.625,356.73599999999993L566.25,351.61099999999993H560.75L557,355.86099999999993L561,359.86099999999993L565.125,363.98599999999993L560.75,370.36099999999993L557.75,373.36099999999993L550.25,367.86099999999993L553.75,364.36099999999993L549.25,358.36099999999993V351.86099999999993L554.25,346.61099999999993L548.5,344.86099999999993L543.75,344.61099999999993L546.667,336.777Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://karlovarsky.pirati.cz">
<path data-info="Karlovarský" d="M69.47,280.299L62.357,280.008V274.846L57.195,272.401L57.466,266.42400000000004L42.251,256.1L32.742,251.21000000000004L28.665999999999997,243.87400000000002L24.590999999999998,239.25500000000002L26.493,230.83333330000003L20.244,221.324L15.761,216.841L18.886,210.728L16.169999999999998,203.936H24.863999999999997L27.037,206.11V212.08700000000002H31.656L34.237,214.668L32.742000000000004,218.87900000000002L35.459,221.59600000000003V228.38800000000003L39.535000000000004,232.46400000000003L41.437000000000005,222.68300000000002C41.437000000000005,222.68300000000002,40.07900000000001,219.42200000000003,41.437000000000005,218.06400000000002S46.871,212.63000000000002,46.871,212.63000000000002L49.316,204.479L59.912000000000006,198.774V194.97L63.30800000000001,191.574L71.051,190.351L80.83200000000001,188.721L84.09200000000001,191.981L89.52600000000001,185.189L99.57900000000001,182.47199999999998L110.17500000000001,190.35099999999997L115.019,195.19499999999996H125.036L129.933,197.04499999999996C129.933,197.04499999999996,129.676,201.25999999999996,129.933,201.75399999999996S140.66899999999998,200.62399999999997,140.66899999999998,200.62399999999997L145.378,205.33299999999997L140.76299999999998,209.94799999999998L143.30599999999998,214.75099999999998L141.611,220.96599999999998L145.755,225.10999999999999L144.06,228.689L148.768,235.093L144.059,239.801L151.028,246.771L147.638,255.059L141.987,256.566V265.042L134.453,259.39099999999996L126.542,258.44899999999996L111.473,268.24299999999994V273.89399999999995L107.612,277.75499999999994L101.30199999999999,274.6479999999999L98.1,276.1549999999999L91.884,272.38699999999994L84.35,275.58899999999994L78.982,280.95699999999994L73.991,276.5299999999999L69.47,280.299Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://kralovehradecky.pirati.cz">
<path data-info="Královéhradecký" d="M401.151,127.863L409.302,128.406L418.267,132.481L420.984,135.198L427.233,136.285L434.025,132.481L436.74199999999996,138.458L440.54599999999994,146.88H445.43699999999995L452.49999999999994,144.16299999999998L456.84799999999996,152.313L456.304,157.475L463.097,152.585L467.715,147.966L475.86499999999995,153.67100000000002L479.941,153.943L481.299,147.966H492.438L506.294,161.55L501.67499999999995,165.626L500.58799999999997,173.505L491.895,176.765L479.397,186.546L480.484,191.98L487.54699999999997,200.13L493.525,197.142L496.921,200.53799999999998V204.749L500.792,208.62099999999998L505.75,208.01L511.456,218.063L519.335,224.31199999999998L520.693,234.36499999999998L523.521,240.16899999999998L515.126,236.41H511.171V241.87199999999999L501.18899999999996,244.69699999999997L495.91499999999996,249.97099999999998L494.21999999999997,257.128H484.80199999999996L478.21,259.01099999999997L473.972,254.77299999999997L466.71999999999997,250.53499999999997L462.57599999999996,246.39099999999996H458.05499999999995V239.8L454.66399999999993,236.41000000000003L446.9409999999999,236.22200000000004L440.5369999999999,239.42400000000004L437.24099999999993,242.72000000000003C437.24099999999993,242.72000000000003,434.0929999999999,241.62100000000004,433.75699999999995,241.49500000000003S433.75699999999995,235.84400000000002,433.75699999999995,235.84400000000002H428.85999999999996L423.77399999999994,242.81300000000002H414.1689999999999L408.8949999999999,239.799L398.95899999999995,248.40300000000002L390.24799999999993,250.347L392.31999999999994,243.566L384.22099999999995,239.234L388.17699999999996,232.26500000000001L386.10499999999996,227.74400000000003L387.23499999999996,222.09400000000002L385.917,216.06600000000003L382.90299999999996,213.05200000000002L377.441,216.63100000000003L368.58799999999997,215.50100000000003V210.22700000000003L363.78499999999997,205.42400000000004L357.47499999999997,204.20000000000005L356.157,199.49100000000004L360.96,194.68800000000005L358.041,186.68300000000005L359.736,181.97400000000005L356.911,177.45300000000006L359.357,173.68500000000006L367.26800000000003,178.77100000000007L374.425,174.06200000000007L385.35,177.82900000000006L388.552,182.72600000000006L393.449,179.90100000000007V174.81600000000006L399.288,171.04900000000006L403.809,175.57000000000005C403.809,175.57000000000005,413.317,173.60500000000005,413.415,173.49800000000005S413.415,169.91900000000004,413.415,169.91900000000004L407.764,164.26800000000003L410.778,158.24100000000004L407.011,154.47400000000005L408.517,150.33333300000004L405.316,142.60700000000003L407.19899999999996,134.69600000000003L401.151,127.863Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://liberecky.pirati.cz">
<path data-info="Liberecký" d="M401.151,127.863L407.197,134.697L405.314,142.608L408.51500000000004,150.33100000000002L407.00900000000007,154.47500000000002L410.77600000000007,158.24200000000002L407.76200000000006,164.269L413.41300000000007,169.92000000000002V173.49900000000002L403.8070000000001,175.57100000000003L399.28600000000006,171.05000000000004L393.44700000000006,174.81700000000004V179.90200000000004L388.55000000000007,182.72700000000003L385.34800000000007,177.83000000000004L374.42300000000006,174.06300000000005L367.2660000000001,178.77200000000005L359.3550000000001,173.68600000000004L354.2700000000001,171.42600000000004V167.65900000000005L347.1590000000001,164.03333330000004L343.9100000000001,160.78400000000005H338.35300000000007L334.11500000000007,156.54600000000005L329.97100000000006,163.70300000000006L323.37800000000004,171.04900000000006L321.11800000000005,168.78900000000007L315.4680000000001,169.73000000000008V174.43900000000008L307.5570000000001,180.84300000000007L298.13900000000007,183.10300000000007L295.8790000000001,176.32200000000006L284.9510000000001,176.88700000000006L279.8670000000001,170.67000000000004L272.7080000000001,158.80700000000004V153.72100000000003L269.3180000000001,148.25900000000004L273.3200000000001,141.52500000000003L277.5110000000001,137.33400000000003V133.47300000000004L282.3140000000001,128.67000000000004L280.8070000000001,122.64300000000004L287.96400000000006,123.58500000000004L294.36800000000005,126.03400000000003L295.31000000000006,118.68800000000003L301.71200000000005,116.45200000000003L318.557,121.61400000000003L323.99100000000004,113.73500000000003L334.04300000000006,113.19200000000002C334.04300000000006,113.19200000000002,340.65700000000004,114.42000000000002,341.1070000000001,114.00700000000002S342.7370000000001,104.49800000000002,342.7370000000001,104.49800000000002L344.9100000000001,95.80400000000002L340.29100000000005,91.18500000000002L344.63800000000003,86.83800000000002H351.973L355.777,90.37000000000002L361.75399999999996,87.11000000000001L365.01399999999995,92.81600000000002L369.90399999999994,90.64300000000001L375.33799999999997,97.16400000000002L372.893,102.59800000000001L375.60999999999996,111.02000000000001L380.364,115.77400000000002L384.847,120.25700000000002L385.39,128.13600000000002L387.156,129.90200000000002L393.269,124.33200000000002L401.151,127.863Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://moravskoslezsky.pirati.cz">
<path data-info="Moravskoslezský" d="M617.687,214.259V224.60999999999999H612.75L608.25,229.10999999999999L598.25,235.60999999999999V242.60999999999999L594.75,246.10999999999999L597.5,251.10999999999999L591.5,259.61L589.75,267.36L593.875,271.485L590,277.86L588.75,285.36L592.375,288.985H597V294.36H603.25L607.25,298.36L614.5,296.36L620.5,305.11H625.5L629.75,307.36L634.75,303.86L639,308.11L644.5,305.11L652,309.11L650.25,317.61H658L660.75,325.11L666.75,327.11L671.875,332.235L671.25,337.36H676.75L679.5,342.86H685.25L690.25,347.11L698.25,343.86L706.25,345.61L712.25,349.86H717.5L723,347.61L723.5,352.11L730.5,356.61L731.75,362.36L737.5,365.046L742.119,363.416L750.813,352.005L750.269,345.484L756.247,342.767L761.1379999999999,345.212L769.2879999999999,343.582L776.0799999999999,345.755L784.7739999999999,341.68L786.1319999999998,335.159L781.2409999999999,321.847L778.2529999999998,312.60999999999996H771.1889999999999L768.2009999999998,309.078L759.2349999999998,306.361L757.8769999999998,299.84L751.8989999999999,286.799L755.1599999999999,279.736L752.4429999999999,278.649L749.7259999999999,271.042L744.2919999999999,275.11699999999996L733.6959999999999,269.14L724.4579999999999,267.782L721.1979999999999,273.488L716.3069999999999,265.338L710.0579999999999,262.34900000000005L707.0699999999998,258.5450000000001L701.6359999999999,262.07700000000006L696.2019999999999,259.63200000000006L696.6089999999999,252.97500000000005L692.127,248.49300000000005L685.606,249.58000000000004L682.345,258.00200000000007C682.345,258.00200000000007,676.811,263.9390000000001,676.096,264.2510000000001S670.255,264.11500000000007,670.255,264.11500000000007L664.686,258.54600000000005L658.98,256.64400000000006L655.992,247.67900000000006L650.8299999999999,240.34300000000005L644.9879999999999,241.02300000000005L639.419,235.45300000000006V230.83400000000006L649.1999999999999,227.84500000000006L656.943,224.04100000000005V219.55800000000005L651.917,214.53200000000004L653.004,209.09800000000004L647.57,203.66400000000004L644.8520000000001,209.09800000000004L640.777,213.17300000000003L627.1930000000001,212.08600000000004L617.687,214.259Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://olomoucky.pirati.cz">
<path data-info="Olomoucký" d="M617.687,214.259V224.60999999999999H612.75L608.25,229.10999999999999L598.25,235.60999999999999V242.60999999999999L594.75,246.10999999999999L597.5,251.10999999999999L591.5,259.61L589.75,267.36L593.875,271.485L590,277.86L588.75,285.36L592.375,288.985H597V294.36H603.25L607.25,298.36L614.5,296.36L620.5,305.11H625.5L629.75,307.36L634.75,303.86L639,308.11L644.5,305.11L652,309.11L650.25,317.61H658L660.75,325.11L666.75,327.11L671.875,332.235L671.25,337.36H676.75L679.5,342.86L675.375,346.985L671.25,345.61L664.5,350.11V357.11L659.125,362.485L653.25,355.86L645.5,358.61L647.75,365.36L641,367.36L636,365.86L631.875,369.985L629,375.11L625.125,371.235L618.5,371.61L616.5,366.86L612.5,370.36L614.75,378.11L611,381.86L608.75,385.36L599.25,386.86L593.375,392.735L589.5,386.11V382.36L586.375,379.235H579.5L578.5,373.86V368.86L572.5,365.11V360.61L568.625,356.735L566.25,351.61H560.75L557,355.86L561,359.86L565.125,363.985L560.75,370.36L557.75,373.36L550.25,367.86L553.75,364.36L549.25,358.36V351.86L554.25,346.61L548.5,344.86L543.75,344.61L546.667,336.777L549.8333333000001,332.277V326.61L555.0000000000001,321.44300000000004V313.94300000000004L549.3333333000001,311.44300000000004V306.94300000000004L544.8333333000001,298.11L540.667,289.94300000000004L546.25,286.194L543.833,283.77700000000004L542.833,276.44300000000004L540.333,270.61V264.94300000000004C540.333,264.94300000000004,550.221,257.03200000000004,550.333,256.77600000000007S547.833,252.60900000000007,547.833,252.60900000000007L549.333,243.94200000000006L554,234.94200000000006L555.742,226.75500000000005L564.435,222.67900000000006H571.228L571.4989999999999,214.25700000000006L567.016,209.77400000000006L562.534,208.00800000000007L559.273,196.32500000000007L552.21,192.52100000000007L556.014,185.18600000000006L564.436,187.35900000000007L570.6850000000001,188.71700000000007L581.009,191.70600000000007L585.22,195.9170000000001L592.4200000000001,193.60700000000008L593.5070000000001,200.67100000000008L599.2120000000001,205.0180000000001H607.9060000000001L610.0790000000001,212.62500000000009L617.687,214.259Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://pardubicky.pirati.cz">
<path data-info="Pardubický" d="M555.742,226.757L554,234.944L549.333,243.944L547.833,252.611L550.333,256.77799999999996L540.333,264.94499999999994V270.6119999999999L542.833,276.44499999999994L543.833,283.77899999999994L546.25,286.1959999999999L540.667,289.94499999999994L544.8333333000001,298.1119999999999L549.3333333000001,306.94499999999994V311.44499999999994L555.0000000000001,313.94499999999994V321.44499999999994L549.8333333000001,326.6119999999999V332.2789999999999L546.667,336.7789999999999L540.5,330.6119999999999H522L518.333,336.6119999999999H506L502.75,339.8619999999999L495.5,332.6119999999999L489.667,332.44499999999994L482.5,323.94499999999994L468.5,320.77899999999994L466,314.94499999999994L459.333,315.1119999999999V311.44499999999994L452.5,315.77899999999994V321.44499999999994L444.833,318.77899999999994L441,316.77899999999994V311.77899999999994L435.833,309.11199999999997L431.833,308.27899999999994L427.66700000000003,303.94499999999994L420.66700000000003,299.44499999999994L411,299.61L402,292.61L400,284.444L403.667,280.77700000000004L404.167,273.11000000000007L397.33399999999995,269.77700000000004L397.167,265.11000000000007L391.667,263.27700000000004L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L398.95900000000006,248.40300000000002L408.89500000000004,239.79900000000004L414.16900000000004,242.81300000000005C414.16900000000004,242.81300000000005,423.29800000000006,243.14300000000006,423.77400000000006,242.81300000000005S428.86000000000007,235.84400000000005,428.86000000000007,235.84400000000005H433.75700000000006V241.49500000000006L437.24100000000004,242.72000000000006L440.53700000000003,239.42400000000006L446.94100000000003,236.22200000000007L454.66400000000004,236.41000000000005L458.05500000000006,239.80000000000004V246.39300000000003H462.5760000000001L466.7200000000001,250.53700000000003L473.9720000000001,254.77500000000003L478.2100000000001,259.01300000000003L484.8020000000001,257.13000000000005H494.2200000000001L495.9150000000001,249.97300000000004L501.1890000000001,244.69900000000004L511.17100000000005,241.87400000000005V236.41200000000006H515.1260000000001L523.5210000000001,240.17100000000005L535.9080000000001,247.13600000000005L542.9710000000001,240.07300000000006L546.6390000000001,236.40500000000006L546.5030000000002,230.02000000000007L555.742,226.757Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://plzensky.pirati.cz">
<path data-info="Plzeňský" d="M151.027,246.771L147.637,255.059L141.986,256.566V265.042L134.452,259.39099999999996L126.541,258.44899999999996L111.472,268.24299999999994V273.89399999999995L107.61099999999999,277.75499999999994L101.30099999999999,274.6479999999999L98.09899999999999,276.1549999999999L91.883,272.38699999999994L84.34899999999999,275.58899999999994L78.981,280.95699999999994L73.99,276.5299999999999L69.469,280.2979999999999L62.355999999999995,280.0069999999999L54.477,291.9609999999999L54,299.11L45.784,306.63333330000004L52.033,313.696L59.64,318.858L59.097,326.737L64.259,332.71500000000003L63.987,340.05L72.138,345.75600000000003L71.32300000000001,354.721L72.68100000000001,360.969L79.20200000000001,364.501L84.90800000000002,370.479L89.25500000000001,377.81399999999996L97.13400000000001,379.98799999999994L99.85100000000001,378.08699999999993L106.91400000000002,379.44499999999994L115.88000000000001,385.96599999999995L116.96700000000001,393.30099999999993L124.84600000000002,401.17999999999995V404.9839999999999L132.181,410.68999999999994L133.53900000000002,416.3949999999999L138.43,419.9269999999999H145.222L151.743,426.4479999999999L157.72,435.1409999999999L158.535,444.6509999999999L169.674,451.9859999999999L173.501,445.6109999999999L173.576,441.8359999999999L175.251,435.8609999999999L180.501,433.6109999999999L181.751,430.1109999999999L179.251,426.1109999999999L180.501,416.3609999999999L185.001,417.8609999999999L186.501,415.1109999999999L192.501,412.8609999999999L195.001,406.8609999999999L192.001,400.8609999999999L196.751,398.3609999999999L193.001,394.1109999999999L196.001,391.3609999999999V387.6109999999999L199.501,384.8609999999999L204.001,377.8609999999999L200.501,372.1109999999999L201.251,364.3609999999999V359.8609999999999L199.751,354.3609999999999L202.501,350.3609999999999L199.251,344.8609999999999L199.501,338.8609999999999L200.751,334.3609999999999L197.501,331.8609999999999L194.001,327.3609999999999L195.751,322.3609999999999L191.751,318.1109999999999L197.001,314.3609999999999H202.501L207.251,308.6109999999999L205.001,304.1109999999999L207.501,299.8609999999999L205.251,293.8609999999999L210.001,289.1109999999999L208.751,285.3609999999999L209.251,278.8609999999999L205.001,276.1109999999999L200.001,275.1109999999999L199.751,271.1109999999999L194.751,272.1109999999999C194.751,272.1109999999999,189.695,265.40499999999986,189.501,265.3609999999999S185.001,267.1109999999999,185.001,267.1109999999999L180.501,264.8609999999999L176.501,262.6109999999999L175.751,258.3609999999999L169.001,257.8609999999999L165.001,260.3609999999999L161.501,257.1109999999999L164.251,253.61099999999988L161.95600000000002,250.7269999999999L155.175,246.7709999999999L151.027,246.771Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://stredocesky.pirati.cz">
<path data-info="Středočeský" d="M404.167,273.11L397.33399999999995,269.777L397.167,265.11L391.667,263.277L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L392.32000000000005,243.566L384.22100000000006,239.234L388.1770000000001,232.26500000000001L386.1050000000001,227.74400000000003L387.23500000000007,222.09400000000002L385.9170000000001,216.06600000000003L382.9030000000001,213.05200000000002L377.4410000000001,216.63100000000003L368.5880000000001,215.50100000000003V210.22700000000003L363.7850000000001,205.42400000000004L357.4750000000001,204.20000000000005L356.1570000000001,199.49100000000004L360.9600000000001,194.68800000000005L358.0410000000001,186.68300000000005L359.7360000000001,181.97400000000005L356.9110000000001,177.45300000000006L359.35700000000014,173.68500000000006L354.27200000000016,171.42500000000007V167.65800000000007L347.1610000000002,164.03200000000007L343.91200000000015,160.78300000000007H338.35500000000013L334.11700000000013,156.54500000000007L329.9730000000001,163.70200000000008L323.3800000000001,171.0480000000001L321.1200000000001,168.7880000000001L315.47000000000014,169.7290000000001V174.4380000000001L307.55900000000014,180.8420000000001L298.14100000000013,183.1020000000001L295.88100000000014,176.32100000000008L284.95300000000015,176.88600000000008L282.69300000000015,179.90100000000007L283.63500000000016,187.05900000000005H278.92600000000016L277.41900000000015,191.58000000000004H272.52200000000016L274.21700000000016,200.05600000000004L270.63800000000015,203.63500000000005L262.53900000000016,202.88200000000006L258.20600000000013,207.21500000000006H241.81900000000013L233.90800000000013,203.63600000000005L227.50400000000013,207.02600000000004V211.54700000000003L222.32400000000013,216.72700000000003H216.39100000000013L214.36600000000013,218.75100000000003L214.50800000000012,222.66000000000003L208.8570000000001,219.26900000000003L202.6420000000001,225.48400000000004L193.97700000000012,225.29600000000005L185.6890000000001,230.38200000000006L178.3430000000001,230.75800000000007L172.6920000000001,236.03200000000007L171.5620000000001,242.62400000000008L165.3460000000001,245.26100000000008L161.9560000000001,250.72300000000007L164.2510000000001,253.60700000000006L161.5010000000001,257.1070000000001L165.0010000000001,260.3570000000001L169.0010000000001,257.8570000000001L175.7510000000001,258.3570000000001L176.5010000000001,262.6070000000001L180.5010000000001,264.8570000000001L185.0010000000001,267.1070000000001L189.5010000000001,265.3570000000001L194.7510000000001,272.1070000000001L199.7510000000001,271.1070000000001L200.0010000000001,275.1070000000001L205.0010000000001,276.1070000000001L209.2510000000001,278.8570000000001L208.7510000000001,285.3570000000001L210.0010000000001,289.1070000000001L205.2510000000001,293.8570000000001L207.5010000000001,299.8570000000001L205.0010000000001,304.1070000000001L207.2510000000001,308.6070000000001L202.5010000000001,314.3570000000001H197L191.75,318.1070000000001L195.75,322.3570000000001L194,327.3570000000001L197.5,331.8570000000001L200.75,334.3570000000001L199.5,338.8570000000001L199.25,344.8570000000001L202.5,350.3570000000001L216.25,350.8570000000001L220.75,353.1070000000001L227.75,349.6070000000001L230.5,344.8570000000001H235.25L239,348.8570000000001L252.5,347.3570000000001L255.5,343.6070000000001H261.5L265.5,348.6070000000001L269.75,348.8570000000001L276,345.1070000000001L282.5,348.1070000000001L287,347.3570000000001L295,349.3570000000001L302.25,352.3570000000001L305.75,348.3570000000001L312.25,344.8570000000001L310.75,337.1070000000001L316,333.3570000000001L323.75,339.8570000000001L328,339.3570000000001L330.25,344.8570000000001L333.5,349.6070000000001L336.25,346.8570000000001L336.5,341.6070000000001L342,336.1070000000001L350.25,337.3570000000001L356.75,337.1070000000001L361.25,337.8570000000001L363.5,333.8570000000001L367.25,335.6070000000001L372,332.3570000000001L371.75,327.1070000000001L364,323.3570000000001L364.25,317.6070000000001L368,314.1070000000001L368.75,310.1070000000001L371.75,308.3570000000001L375.75,309.3570000000001L379,306.3570000000001H384.75L386.75,302.1070000000001L392.5,302.3570000000001L392,296.3570000000001L396,293.1070000000001L402,292.6070000000001L400,284.4410000000001L403.667,280.7740000000001L404.167,273.11ZM310,254.11L305.167,254.61L301.83399999999995,256.94300000000004L304.167,258.94300000000004L304.667,264.11L301.167,267.277L297.167,264.61L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.16600000000005,247.6119999999999L263.16600000000005,244.1119999999999L265.833,245.6119999999999L270.5,245.9449999999999L269.333,241.6119999999999L272.333,239.7789999999999L276.5,240.6119999999999L281.167,238.1119999999999L283.667,234.7789999999999L289.167,234.9459999999999L290.5,237.2789999999999L293.667,238.2789999999999L294.667,239.7789999999999L298.33399999999995,238.9459999999999L297.33399999999995,242.61299999999991L302.167,243.77999999999992L304.33399999999995,247.27999999999992H307.5009999999999L310.5009999999999,251.11299999999991L310,254.11Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://ustecky.pirati.cz">
<path data-info="Ústecký" d="M110.174,190.351L119.683,185.189L119.412,177.85399999999998L122.67200000000001,174.593L132.453,172.963L140.604,174.04999999999998L143.864,168.07299999999998V163.72599999999997L146.58100000000002,158.83599999999998H149.841L151.471,163.72599999999997L155.546,162.36799999999997V156.39099999999996L158.128,153.80899999999997L159.62199999999999,149.86999999999998H163.42499999999998L165.05499999999998,155.03199999999998L169.402,157.749L177.82399999999998,151.772L178.367,141.72L182.30599999999998,137.781L186.789,140.09L192.22299999999998,135.20000000000002L195.755,138.73200000000003L202.27599999999998,135.20000000000002L209.611,134.38500000000002L211.24099999999999,138.18900000000002H214.23L219.11999999999998,133.29900000000004V125.69200000000004L225.36899999999997,124.60500000000003L229.71599999999998,120.25800000000004L235.421,123.79000000000003L244.11499999999998,119.17100000000003L247.647,115.63900000000004L254.982,116.18200000000004L258.514,109.11900000000004H263.404L265.306,111.29200000000004L275.087,107.76000000000005L276.174,100.96800000000005L268.02299999999997,98.25100000000005V93.08900000000004L259.873,91.45900000000005L262.861,86.02500000000005L265.578,78.96100000000004L273.729,82.76500000000004L275.631,84.66700000000004H280.52099999999996L288.128,81.95000000000005L293.018,86.84000000000005L297.909,91.45900000000005L298.18,97.43600000000005L294.105,104.22800000000005L303.34200000000004,102.59800000000006L301.71200000000005,112.10700000000006V116.45400000000005L295.31000000000006,118.69000000000005L294.36800000000005,126.03600000000006L287.96400000000006,123.58700000000006L280.8070000000001,122.64500000000007L282.3140000000001,128.67200000000005L277.5110000000001,133.47500000000005V137.33600000000004L273.3200000000001,141.52700000000004C273.3200000000001,141.52700000000004,269.2500000000001,147.21300000000005,269.3180000000001,148.26100000000005S272.7080000000001,153.72300000000004,272.7080000000001,153.72300000000004V158.80900000000005L279.8670000000001,170.67200000000005L284.9510000000001,176.88900000000007L282.6910000000001,179.90400000000005L283.6333333000001,187.06200000000004H278.9240000000001L277.4170000000001,191.58300000000003H272.5200000000001L274.2150000000001,200.05900000000003L270.6360000000001,203.63800000000003L262.5370000000001,202.88500000000005L258.20400000000006,207.21800000000005H241.81700000000006L233.90600000000006,203.63900000000004L227.50200000000007,207.02900000000002V211.55L222.32200000000006,216.73000000000002H216.38900000000007L214.36400000000006,218.75400000000002L214.50600000000006,222.663L208.85500000000005,219.27200000000002L202.64000000000004,225.48700000000002L193.97500000000005,225.29900000000004L185.68700000000004,230.38500000000005L178.34100000000004,230.76100000000005L172.69000000000003,236.03500000000005L171.56000000000003,242.62700000000007L165.34400000000002,245.26400000000007L161.95400000000004,250.72600000000006L155.17300000000003,246.77000000000007L151.02600000000004,246.77100000000007L144.05700000000004,239.80100000000007L148.76600000000005,235.09300000000007L144.05800000000005,228.68900000000008L145.75300000000004,225.11000000000007L141.60900000000004,220.96600000000007L143.30400000000003,214.75100000000006L140.76100000000002,209.94800000000006L145.37600000000003,205.33333330000006L140.66700000000003,200.62400000000005L129.93100000000004,201.75400000000005V197.04500000000004L125.03400000000003,195.19500000000005H115.01700000000004L110.174,190.351Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://vysocina.pirati.cz">
<path data-info="Vysočina" d="M502.75,339.86L495.5,332.61L489.667,332.44300000000004L482.5,323.94300000000004L468.5,320.77700000000004L466,314.94300000000004L459.333,315.11V311.44300000000004L452.5,315.77700000000004C452.5,315.77700000000004,452.729,321.25500000000005,452.5,321.44300000000004S444.833,318.77700000000004,444.833,318.77700000000004L441,316.77700000000004V311.77700000000004L435.833,309.11000000000007L431.833,308.27700000000004L427.66700000000003,303.94300000000004L420.66700000000003,299.44300000000004L411,299.61L402,292.61L396,293.11L392,296.36L392.5,302.36L386.75,302.11L384.75,306.36H379L375.75,309.36L371.75,308.36L368.75,310.11L368,314.11L364.25,317.61L364,323.36L371.75,327.11C371.75,327.11,372.032,331.726,372,332.36S367.25,335.61,367.25,335.61L363.5,333.86L361.25,337.86L356.75,337.11L350.25,337.36L342,336.11L336.5,341.61L336.25,346.86L333.5,349.61L335.25,356.11L335,363.11L332,366.86V374.61L334.75,380.36L333.5,384.86L336.25,389.86L341.75,394.36L346.5,391.61L352.75,395.11L355.5,400.11L361,405.11L366,402.36L374,405.36L381.25,404.11L384.5,408.61L383.5,414.11L390,420.61L398.5,420.86L405.5,419.36L412.75,425.11L412,429.61L406.75,430.61L405.75,436.86L400.25,442.61L404.75,446.61L408.75,452.86L413.25,450.61L417.75,453.86L423.25,448.11L429,452.36L432,446.61L435.5,445.61L438.75,441.11H444.75L447,435.86L454,432.86L460.25,437.11L464.5,434.61L470.25,436.36L475.75,433.61L478.75,428.86L483.5,430.11L485.75,424.61L489.5,423.61L491.25,420.36L486.75,417.11L485.25,412.11L491,408.61L485.75,403.36L487,398.86L491,395.61L487.25,390.86L491.75,387.86L493.5,383.86L503.25,379.36L502.75,370.36L500.75,365.36L503,360.61L500.25,354.11L505.25,351.11L506.75,348.11L501.5,344.61L502.75,339.86Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
<a href="https://zlinsky.pirati.cz">
<path data-info="Zlínský" d="M737.5,365.046L731.75,362.36L730.5,356.61L723.5,352.11L723,347.61L717.5,349.86H712.25L706.25,345.61L698.25,343.86L690.25,347.11L685.25,342.86H679.5L675.375,346.985L671.25,345.61L664.5,350.11V357.11C664.5,357.11,660.164,361.736,659.125,362.485S653.25,355.86,653.25,355.86L645.5,358.61L647.75,365.36L641,367.36L636,365.86L631.875,369.985L629,375.11L625.125,371.235L618.5,371.61L616.5,366.86L612.5,370.36L614.75,378.11L611,381.86L608.75,385.36L599.25,386.86L593.375,392.735L589.75,397.61L592.75,402.86L591.25,408.11L598,408.86L597.25,413.86L592.75,416.86L587.75,422.11L591.5,426.86L599.75,423.61L602.75,426.86L602,432.61L608.25,436.11L616.5,437.11L616.25,442.86L621.5,442.61L627,447.61L633.5,445.11L639.25,448.61L639.5,452.61L645.75,454.11L649.5,459.61L651.646,462.31H656.5369999999999L663.6009999999999,457.963L668.4909999999999,449.54L678.5439999999999,448.997L680.3099999999998,435.548L684.2489999999998,431.609L697.2899999999998,430.522L704.0829999999999,420.742V409.06L707.6139999999998,399.007V391.944L713.0479999999998,383.522L720.3839999999998,381.62L727.1759999999998,378.088L733.1539999999998,375.915L737.5,365.046Z" transform="matrix(0.75,0,0,0.75,0,0)" stroke-width="1.3333333333333333" />
</a>
</svg>
</div>
<div class="col-xl-5 col-lg-4">
<div class="row">
<div class="col-6">
<ul class="region-list mt-4">
<li><a href="https://praha.pirati.cz">Praha</a></li>
<li><a href="https://jihocesky.pirati.cz">Jihočeský</a></li>
<li><a href="https://jihomoravsky.pirati.cz">Jihomoravský</a></li>
<li><a href="https://karlovarsky.pirati.cz">Karlovarský</a></li>
<li><a href="https://kralovehradecky.pirati.cz">Královéhradecký</a></li>
<li><a href="https://liberecky.pirati.cz">Liberecký</a></li>
<li><a href="https://moravskoslezsky.pirati.cz">Moravskoslezský</a></li>
</ul>
</div>
<div class="col-6">
<ul class="region-list mt-4">
<li><a href="https://olomoucky.pirati.cz">Olomoucký</a></li>
<li><a href="https://pardubicky.pirati.cz">Pardubický</a></li>
<li><a href="https://plzensky.pirati.cz">Plzeňský</a></li>
<li><a href="https://stredocesky.pirati.cz">Středočeský</a></li>
<li><a href="https://ustecky.pirati.cz">Ústecký</a></li>
<li><a href="https://vysocina.pirati.cz">Vysočina</a></li>
<li><a href="https://zlinsky.pirati.cz">Zlínský</a></li>
</ul>
</div>
</div>
</div>
</div> <!-- /row -->
</div> <!-- /container -->
</section>
</main>
<!-- /CONTENT -->
{% endblock %}
from django.apps import AppConfig
class DonateConfig(AppConfig):
name = "donate"
from wagtail.blocks import (
CharBlock,
DateBlock,
IntegerBlock,
ListBlock,
PageChooserBlock,
RichTextBlock,
StructBlock,
URLBlock,
)
from wagtail.images.blocks import ImageChooserBlock
from donate.constants import RICH_TEXT_FEATURES
from shared_legacy.blocks import MenuItemBlock as MenuItemBlockBase
class MenuItemBlock(MenuItemBlockBase):
class Meta:
label = "Položka v menu"
template = "donate/blocks/menu_item.html"
class MenuParentBlock(StructBlock):
title = CharBlock(label="Titulek", required=True)
menu_items = ListBlock(MenuItemBlock(), label="Položky menu")
class Meta:
label = "Podmenu"
template = "donate/blocks/navbar_submenu.html"
class CustomLinkBlock(StructBlock):
text = CharBlock(label="Nadpis")
url = URLBlock(label="Odkaz")
class Meta:
label = "Extra odkaz"
class ProjectIndexBlock(StructBlock):
page = PageChooserBlock(
label="Stránka se seznamem",
page_type="donate.DonateProjectIndexPage",
)
class Meta:
template = "donate/blocks/project_index_block.html"
label = "Seznam projektů"
class DistrictDonationBlock(StructBlock):
heading = CharBlock(label="Nadpis")
description = RichTextBlock(label="Obsah", features=RICH_TEXT_FEATURES)
class Meta:
template = "donate/blocks/district_donation_block.html"
label = "Podpora krajů"
class PartySupportFormBlock(StructBlock):
heading = CharBlock(label="Nadpis")
description = RichTextBlock(label="Obsah", features=RICH_TEXT_FEATURES)
image = ImageChooserBlock(label="Obrázek")
class Meta:
template = "donate/blocks/party_support_form_block.html"
label = "Podpoř stranu"
class CrowdfundingRewardBlock(StructBlock):
title = CharBlock(label="Název odměny")
description = CharBlock(label="Popis", max_length=255, required=False)
amount = IntegerBlock(label="Částka")
image = ImageChooserBlock(label="Obrázek")
delivery_date = DateBlock(label="Datum dodání", required=False)
reward_id = IntegerBlock(
label="ID odměny",
required=True,
)
variant_list = ListBlock(
CharBlock(label="Varianta", max_length=12, help_text="Například velikost: S"),
label="Varianty",
)
class Meta:
template = "donate/blocks/crowdfunding_reward_block.html"
icon = "pick"
label = "Odměna"
class CustomContentBlock(StructBlock):
title = CharBlock(label="Nadpis")
content = RichTextBlock(label="Obsah", features=RICH_TEXT_FEATURES)
link = URLBlock(label="Odkaz")
class Meta:
template = "donate/blocks/custom_content_block.html"
icon = "doc-full"
label = "Obecný blok"
from shared_legacy.const import RICH_TEXT_DEFAULT_FEATURES
# Select colors for rich text editors font color from style guide
font_colors = [
("Green", "#4ca971"),
("Yellow", "#fde119"),
("Blue", "#027da8"),
("Cyan", "#004958"),
("Violet", "#670047"),
("Red", "#d60d53"),
("Grey", "#262626"),
]
RICH_TEXT_FEATURES = RICH_TEXT_DEFAULT_FEATURES + list(
map(lambda color: "font_color_" + color[1], font_colors)
)
import urllib.parse
from django import forms
from django.conf import settings
from django.utils.text import slugify
class DonateForm(forms.Form):
DEFAULT_CUSTOM_AMOUNT = 1000
ALLOWED_PERIODICITY = [730, 99999]
PORTAL_ID_IN_SELECT = -1
amount = forms.IntegerField(required=False)
crowdfunding = forms.IntegerField(required=False)
custom_amount = forms.IntegerField(required=False)
periodicity = forms.IntegerField()
portal_project_id = forms.IntegerField()
product = forms.CharField(required=False)
select_portal_project_id = forms.IntegerField(required=False)
def clean_periodicity(self):
value = self.cleaned_data["periodicity"]
if value not in self.ALLOWED_PERIODICITY:
raise forms.ValidationError("Wrong periodicity!")
if self.cleaned_data["crowdfunding"] and value != 99999:
raise forms.ValidationError("Wrong periodicity!")
return value
def clean(self):
cleaned_data = super().clean()
if (
cleaned_data["portal_project_id"] == self.PORTAL_ID_IN_SELECT
and cleaned_data["select_portal_project_id"] is None
):
raise forms.ValidationError("Není zadán účel daru.")
if not cleaned_data["amount"] and not cleaned_data["custom_amount"]:
raise forms.ValidationError("Nebyla zadána částka.")
if cleaned_data["crowdfunding"] and not cleaned_data["product"]:
raise forms.ValidationError("Nebyla zadána produkt.")
if cleaned_data["product"] and not cleaned_data["crowdfunding"]:
raise forms.ValidationError("Nebyla zadána typ odměny.")
return cleaned_data
def get_amount(self):
amount = self.cleaned_data["amount"]
if not amount:
amount = (
abs(self.cleaned_data["custom_amount"]) or self.DEFAULT_CUSTOM_AMOUNT
)
return amount
def get_redirect_url(self):
amount = self.get_amount()
crowdfunding = self.cleaned_data["crowdfunding"]
product = self.cleaned_data["product"]
periodicity = self.cleaned_data["periodicity"]
portal_project_id = self.cleaned_data["portal_project_id"]
if portal_project_id == self.PORTAL_ID_IN_SELECT:
portal_project_id = self.cleaned_data["select_portal_project_id"]
query_dict = {
"amount": amount,
"periodicity": periodicity,
"projectAccount": portal_project_id,
"source": settings.DONATE_PORTAL_REDIRECT_SOURCE,
}
if crowdfunding:
product = slugify(product)
query_dict.update(crowdfunding=crowdfunding, product=product)
query = urllib.parse.urlencode(query_dict)
return f"{settings.DONATE_PORTAL_REDIRECT_URL}?{query}"
# Generated by Django 3.0.6 on 2020-05-27 18:04
import django.db.models.deletion
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
("wagtailcore", "0045_assign_unlock_grouppagepermission"),
("wagtailimages", "0022_uploadedimage"),
]
operations = [
migrations.CreateModel(
name="DonateProjectIndexPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
],
options={
"verbose_name": "Přehled projektů",
},
bases=("wagtailcore.page",),
),
migrations.CreateModel(
name="DonateRegionIndexPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
],
options={
"verbose_name": "Přehled krajů",
},
bases=("wagtailcore.page",),
),
migrations.CreateModel(
name="DonateRegionPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
(
"perex",
models.TextField(verbose_name="krátký popis do přehledu krajů"),
),
(
"main_title",
models.CharField(
max_length=250, verbose_name="hlavní nadpis na stránce"
),
),
("body", wagtail.fields.RichTextField(verbose_name="obsah")),
],
options={
"verbose_name": "Kraj",
},
bases=("wagtailcore.page",),
),
migrations.CreateModel(
name="DonateProjectPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
("date", models.DateField(verbose_name="běží od")),
("perex", models.TextField(verbose_name="krátký popis")),
("body", wagtail.fields.RichTextField(verbose_name="obsah")),
(
"is_new",
models.BooleanField(
default=False, verbose_name='označení "nový projekt"'
),
),
(
"gallery",
wagtail.fields.StreamField(
[
(
"photo",
wagtail.images.blocks.ImageChooserBlock(label="fotka"),
)
],
blank=True,
verbose_name="galerie fotek",
),
),
(
"photo",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.PROTECT,
to="wagtailimages.Image",
verbose_name="fotka",
),
),
],
options={
"verbose_name": "Projekt",
},
bases=("wagtailcore.page",),
),
migrations.CreateModel(
name="DonateHomePage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
(
"lead_title",
models.CharField(
blank=True, max_length=250, verbose_name="hlavní nadpis"
),
),
(
"lead_body",
models.TextField(blank=True, verbose_name="hlavní popis"),
),
(
"lead_video",
models.URLField(
blank=True, null=True, verbose_name="video na youtube"
),
),
(
"support_title",
models.CharField(
blank=True, max_length=250, verbose_name="podpoř stranu nadpis"
),
),
(
"support_body",
models.TextField(blank=True, verbose_name="podpoř stranu popis"),
),
(
"project_title",
models.CharField(
blank=True, max_length=250, verbose_name="podpoř projekt nadpis"
),
),
(
"project_body",
models.TextField(blank=True, verbose_name="podpoř projekt popis"),
),
(
"region_title",
models.CharField(
blank=True, max_length=250, verbose_name="podpoř kraj nadpis"
),
),
(
"region_body",
models.TextField(blank=True, verbose_name="podpoř kraj popis"),
),
(
"facebook",
models.URLField(blank=True, null=True, verbose_name="Facebook URL"),
),
(
"instagram",
models.URLField(
blank=True, null=True, verbose_name="Instagram URL"
),
),
(
"twitter",
models.URLField(blank=True, null=True, verbose_name="Twitter URL"),
),
(
"flickr",
models.URLField(blank=True, null=True, verbose_name="Flickr URL"),
),
(
"matomo_id",
models.IntegerField(
blank=True,
null=True,
verbose_name="Matomo ID pro sledování návštěvnosti",
),
),
(
"lead_preview",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.PROTECT,
to="wagtailimages.Image",
verbose_name="náhled videa",
),
),
],
options={
"verbose_name": "Dary",
},
bases=("wagtailcore.page",),
),
]
# Generated by Django 3.0.6 on 2020-06-01 21:24
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtailimages", "0022_uploadedimage"),
("donate", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="donatehomepage",
name="search_image",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
migrations.AddField(
model_name="donateprojectindexpage",
name="search_image",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
migrations.AddField(
model_name="donateregionindexpage",
name="search_image",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
migrations.AddField(
model_name="donateregionpage",
name="search_image",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
]
# Generated by Django 3.0.6 on 2020-06-02 17:04
import django.db.models.deletion
import wagtail.fields
import wagtailmetadata.models
from django.db import migrations, models
import donate.models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0045_assign_unlock_grouppagepermission"),
("wagtailimages", "0022_uploadedimage"),
("donate", "0002_auto_20200601_2324"),
]
operations = [
migrations.CreateModel(
name="DonateInfoPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
(
"body",
wagtail.fields.RichTextField(blank=True, verbose_name="obsah"),
),
(
"search_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
],
options={
"verbose_name": "Info",
},
bases=(
"wagtailcore.page",
donate.models.SubpageMixin,
wagtailmetadata.models.MetadataMixin,
models.Model,
),
),
migrations.CreateModel(
name="DonateCookiesPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
(
"body",
wagtail.fields.RichTextField(blank=True, verbose_name="obsah"),
),
(
"search_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
],
options={
"verbose_name": "Cookies",
},
bases=(
"wagtailcore.page",
donate.models.SubpageMixin,
wagtailmetadata.models.MetadataMixin,
models.Model,
),
),
]
# Generated by Django 3.0.6 on 2020-06-21 21:49
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("donate", "0003_donatecookiespage_donateinfopage"),
]
operations = [
migrations.AddField(
model_name="donatehomepage",
name="portal_project_id",
field=models.IntegerField(
blank=True, null=True, verbose_name="ID projektu v darovacím portálu"
),
),
migrations.AddField(
model_name="donateprojectpage",
name="portal_project_id",
field=models.IntegerField(
blank=True, null=True, verbose_name="ID projektu v darovacím portálu"
),
),
migrations.AddField(
model_name="donateregionpage",
name="portal_project_id",
field=models.IntegerField(
blank=True, null=True, verbose_name="ID projektu v darovacím portálu"
),
),
]
# Generated by Django 3.0.8 on 2020-07-15 12:15
import django.db.models.deletion
import wagtail.blocks
import wagtail.fields
import wagtailmetadata.models
from django.db import migrations, models
import donate.models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0045_assign_unlock_grouppagepermission"),
("wagtailimages", "0022_uploadedimage"),
("donate", "0004_auto_20200621_2349"),
]
operations = [
migrations.RemoveField(
model_name="donateregionpage",
name="perex",
),
migrations.CreateModel(
name="DonateTargetedDonationsPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.Page",
),
),
(
"targeted_donations",
wagtail.fields.StreamField(
[
(
"item",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(label="název"),
),
(
"description",
wagtail.blocks.CharBlock(
label="popis", required=False
),
),
(
"portal_project_id",
wagtail.blocks.IntegerBlock(
label="ID projektu v darovacím portálu",
required=False,
),
),
]
),
)
],
blank=True,
verbose_name="adresné dary",
),
),
(
"search_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.Image",
verbose_name="Search image",
),
),
],
options={
"abstract": False,
},
bases=(
"wagtailcore.page",
donate.models.SubpageMixin,
wagtailmetadata.models.MetadataMixin,
models.Model,
),
),
]
# Generated by Django 3.0.8 on 2020-07-17 01:23
import wagtail.blocks
import wagtail.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("donate", "0005_auto_20200715_1415"),
]
operations = [
migrations.AlterModelOptions(
name="donatetargeteddonationspage",
options={"verbose_name": "Adresné dary"},
),
migrations.AlterField(
model_name="donatetargeteddonationspage",
name="targeted_donations",
field=wagtail.fields.StreamField(
[
(
"item",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.CharBlock(label="název")),
(
"description",
wagtail.blocks.CharBlock(
label="popis", required=False
),
),
(
"portal_project_id",
wagtail.blocks.IntegerBlock(
help_text="Pokud není zadáno ID projektu, tak se adresný dar nezobrazí.",
label="ID projektu v darovacím portálu",
required=False,
),
),
]
),
)
],
blank=True,
verbose_name="adresné dary",
),
),
]
# Generated by Django 3.0.8 on 2020-07-24 14:58
from django.conf import settings
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0045_assign_unlock_grouppagepermission"),
("wagtailredirects", "0006_redirect_increase_max_length"),
("wagtailimages", "0022_uploadedimage"),
("contenttypes", "0002_remove_content_type_name"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("wagtailforms", "0004_add_verbose_name_plural"),
("donate", "0006_auto_20200717_0323"),
]
operations = [
migrations.RenameModel(
old_name="DonateCookiesPage",
new_name="DonateTextPage",
),
migrations.AlterModelOptions(
name="donateinfopage",
options={"verbose_name": "Infostránka s formulářem"},
),
migrations.AlterModelOptions(
name="donatetextpage",
options={"verbose_name": "Stránka s textem"},
),
]
# Generated by Django 3.0.8 on 2020-08-25 22:21
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("donate", "0007_auto_20200724_1658"),
]
operations = [
migrations.AddField(
model_name="donateprojectpage",
name="donated_amount",
field=models.IntegerField(
blank=True, null=True, verbose_name="vybraná částka"
),
),
migrations.AddField(
model_name="donateprojectpage",
name="expected_amount",
field=models.IntegerField(
blank=True, null=True, verbose_name="očekávaná částka"
),
),
]