diff --git a/district/migrations/0008_districtcontact.py b/district/migrations/0008_districtcontact.py new file mode 100644 index 0000000000000000000000000000000000000000..5d74e011c65cad2bf86e1a50c02a918ed169caf8 --- /dev/null +++ b/district/migrations/0008_districtcontact.py @@ -0,0 +1,82 @@ +# Generated by Django 3.1.1 on 2020-10-14 11:23 + +import django.db.models.deletion +import wagtail.core.blocks +import wagtail.core.fields +import wagtailmetadata.models +from django.db import migrations, models + +import district.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailcore", "0052_pagelogentry"), + ("wagtailimages", "0022_uploadedimage"), + ("district", "0007_auto_20201014_1232"), + ] + + operations = [ + migrations.CreateModel( + name="DistrictContact", + 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", + ), + ), + ( + "contact_persons", + wagtail.core.fields.StreamField( + [ + ( + "item", + wagtail.core.blocks.StructBlock( + [ + ( + "name", + wagtail.core.blocks.CharBlock(label="Role"), + ), + ( + "person", + wagtail.core.blocks.PageChooserBlock( + label="Osoba", + page_type=["shared.PersonPage"], + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Kontakty", + ), + ), + ( + "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=( + district.models.SubpageMixin, + wagtailmetadata.models.MetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + ] diff --git a/district/migrations/0009_auto_20201014_1343.py b/district/migrations/0009_auto_20201014_1343.py new file mode 100644 index 0000000000000000000000000000000000000000..99515389db0d522b32f40eb3eab55f82eac3e34b --- /dev/null +++ b/district/migrations/0009_auto_20201014_1343.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1.1 on 2020-10-14 11:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("district", "0008_districtcontact"), + ] + + operations = [ + migrations.AlterModelOptions( + name="districtcontact", options={"verbose_name": "Kontakty"}, + ), + migrations.AddField( + model_name="districthomepage", + name="contact_phone", + field=models.TextField( + blank=True, max_length=250, verbose_name="kontaktni telefon" + ), + ), + ] diff --git a/district/models.py b/district/models.py index d30cf51e0194ade8aeff1c175566298631d4f13d..684c5be73bed2bf8536128ca900dacaba0061afb 100644 --- a/district/models.py +++ b/district/models.py @@ -35,6 +35,7 @@ class DistrictHomePage(MetadataPageMixin, Page): forum = models.URLField("FĂłrum URL", blank=True, null=True) contact_email = models.EmailField("kontaktni email", max_length=250, blank=True) + contact_phone = models.TextField("kontaktni telefon", max_length=250, blank=True) contact_newcomers = models.URLField( "URL pro zájemce o ÄŤlenstvĂ", blank=True, null=True ) @@ -89,7 +90,11 @@ class DistrictHomePage(MetadataPageMixin, Page): FieldPanel("matomo_id"), FieldPanel("donation_page"), MultiFieldPanel( - [FieldPanel("contact_email"), FieldPanel("contact_newcomers"),], + [ + FieldPanel("contact_email"), + FieldPanel("contact_phone"), + FieldPanel("contact_newcomers"), + ], gettext_lazy("Kontakty"), ), MultiFieldPanel( @@ -107,6 +112,7 @@ class DistrictHomePage(MetadataPageMixin, Page): "shared.Article", "shared.PeoplePage", "DistrictArticles", + "DistrictContact", ] ### OTHERS @@ -154,3 +160,25 @@ class DistrictArticles(SubpageMixin, MetadataPageMixin, Page): self.max_items or 5, ).get_page(request.GET.get("page")) return context + + +class DistrictContact(SubpageMixin, MetadataPageMixin, Page): + class ContactItemBlock(blocks.StructBlock): + name = blocks.CharBlock(label="Role") + person = blocks.PageChooserBlock( + label="Osoba", page_type=["shared.PersonPage"], + ) + + class Meta: + label = "Kontakt" + + contact_persons = StreamField( + [("item", ContactItemBlock())], verbose_name="Kontakty", blank=True, + ) + + content_panels = Page.content_panels + [ + StreamFieldPanel("contact_persons"), + ] + + class Meta: + verbose_name = "Kontakty" diff --git a/district/templates/district/_followus.html b/district/templates/district/_followus.html new file mode 100644 index 0000000000000000000000000000000000000000..c6c7ca965a56f2984b0a97071b48c9243d77f35b --- /dev/null +++ b/district/templates/district/_followus.html @@ -0,0 +1,13 @@ + <div class="d-flex"> + + <a href="{{page.facebook}}" class="super-button bg-brands-facebook text-white container-padding--zero lg:container-padding--auto lg:w-full m-2" > + <span class="super-button__body">Sledujte nás na Facebooku</span> + <i class="super-button__icon ico--facebook"></i> + </a> + + <a href="{{ page.forum }}" class="super-button bg-black text-white container-padding--zero lg:container-padding--auto lg:w-full m-2" > + <span class="super-button__body">Sledujte naše fĂłrum</span> + <i class="super-button__icon ico--bubbles"></i> + </a> + + </div> diff --git a/district/templates/district/base.html b/district/templates/district/base.html index a2be2a9fe07080edab3d76d86746e2fbea12449d..93e42ce2d88589087dd0417f9c80e9e154f58d60 100644 --- a/district/templates/district/base.html +++ b/district/templates/district/base.html @@ -35,16 +35,15 @@ <body> - <nav class="navbar __js-root"> - - <ui-app inline-template> - <ui-navbar inline-template> + <nav class="navbar __js-root py-lg-6"> + <ui-app inline-template> + <ui-navbar inline-template> <div> <div class="container container--wide navbar__content" :class="{'navbar__content--initialized': true}"> <div class="navbar__brand my-4 flex items-center lg:block lg:pr-8 lg:my-0"> - <a href="https://roznov.pirati.cz/"> - <img src="https://styleguide.pir-test.eu/latest//images/logo-round-white.svg" class="w-8 lg:w-full lg:border-r lg:border-grey-300 lg:pr-8" /> + <a href="/"> + <img src="https://styleguide.pir-test.eu/latest//images/logo-round-white.svg" class="w-10 lg:w-full lg:border-r lg:border-grey-300 lg:pr-8" /> </a> <span class="lg:hidden pl-4 font-bold text-xl">Pirátská strana</span> </div> @@ -88,8 +87,8 @@ <li class="navbar-menu__item"><a href="/lide/" class="navbar-menu__link">LidĂ©</a></li> {% comment %} <li class="navbar-menu__item"><a href="/komunalni-program/" class="navbar-menu__link">KomunálnĂ program</a></li> - <li class="navbar-menu__item"><a href="/kontakt/" class="navbar-menu__link">Kontakt</a></li> {% endcomment %} + <li class="navbar-menu__item"><a href="/kontakt/" class="navbar-menu__link">Kontakt</a></li> </ul> </div> @@ -113,8 +112,8 @@ </div> </div> </div> - </ui-navbar> - </ui-app> + </ui-navbar> + </ui-app> </nav> {% block subheader %}{% endblock %} diff --git a/district/templates/district/district_contact.html b/district/templates/district/district_contact.html new file mode 100644 index 0000000000000000000000000000000000000000..0de1045ea9cd4e49b8b8056eb5af7f7b7057238e --- /dev/null +++ b/district/templates/district/district_contact.html @@ -0,0 +1,86 @@ +{% extends "district/base.html" %} +{% load wagtailcore_tags wagtailimages_tags shared_filters %} + +{% block content %} + +<div class="container container--default py-8 lg:py-24"> + + <div class="d-flex mb-5"> + + <div class="col-8 pr-5"> + <header> + <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-8">{{ page.title }}</h1> + </header> + + {% for item in page.contact_persons %} + + <div> + <h2 class="head-heavy-sm mb-2 lg:mb-4 mt-4">{{ item.value.name }}</h2> + <div class="card elevation-3 p-3 mb-3"> + {% include "shared/_person_badge.html" with person=item.value.person %} + </div> + </div> + + {% endfor %} + + </div> + + <section class="lg:w-2/5 xl:w-1/3 lg:pt-0"> + <div class="lg:card lg:elevation-10"> + <div class="lg:card__body content-block"> + + <h2>ZákladnĂ Ăşdaje</h2> + + <div class="space-y-4"> + <div> + <h4>Emailová adresa</h4> + <a href="mailto:yveta.martinkova@pirati.cz" class="contact-line icon-link content-block--nostyle " > + <i class="ico--envelope"></i><span>{{ page.root_page.contact_email }}</span> + </a> + </div> + + <div> + <h4>TelefonickĂ˝ kontakt</h4> + <a href="tel:{{ page.root_page.contact_phone }}" class="contact-line icon-link content-block--nostyle " > + <i class="ico--phone"></i><span>{{ page.root_page.contact_phone }}</span> + </a> + </div> + + <div> + <h4>Transparentnà účty</h4> + 2100048174/2010 a <a href="https://wiki.pirati.cz/fo/seznam_uctu">dalšà účty</a> + </div> + + <div> + <h4>Datová schránka</h4> + <span class="contact-line icon-link content-block--nostyle " > + <i class="ico--drawer"></i><span>b2i4r6j</span></span> + </div> + + <div> + <h4>CelostátnĂ web</h4> + <a href="https://www.pirati.cz" class="contact-line icon-link content-block--nostyle " > + <i class="ico--pirati"></i><span>www.pirati.cz</span> + </a> + </div> + + <p>KaĹľdĂ˝ ÄŤlen strany má email ve tvaru: <tt>jmeno.prijmeni@pirati.cz</tt></p> + + </div> + + <hr class="hr"> + + <h2>SĂdlo a kontaktnĂ centrum</h2> + <strong>Piráti ZlĂnskĂ˝ kraj</strong> + + </div> + </div> + </section> + + </div> + + {% include "district/_followus.html" %} + +</div> + +{% endblock %} diff --git a/district/templates/district/district_home_page.html b/district/templates/district/district_home_page.html index 3d5b2640a95c29a98e8fea166b54e639d046059e..03258b258c24b5ae2d90cb293089c1a755cbf9e8 100644 --- a/district/templates/district/district_home_page.html +++ b/district/templates/district/district_home_page.html @@ -14,20 +14,7 @@ </div> {% include "district/_more_articles.html" %} - - <div class="d-flex"> - - <a href="{{page.facebook}}" class="super-button bg-brands-facebook text-white container-padding--zero lg:container-padding--auto lg:w-full m-2" > - <span class="super-button__body">Sledujte nás na Facebooku</span> - <i class="super-button__icon ico--facebook"></i> - </a> - - <a href="{{ page.forum }}" class="super-button bg-black text-white container-padding--zero lg:container-padding--auto lg:w-full m-2" > - <span class="super-button__body">Sledujte naše fĂłrum</span> - <i class="super-button__icon ico--bubbles"></i> - </a> - - </div> + {% include "district/_followus.html" %} </main> {% endblock %}