diff --git a/donate/models.py b/donate/models.py index 4679f0dbafcfdbb3592a1b8f28f0584ff0fedd03..e26aad9acf1119a0a8d0f6f606b114bac6cf97bb 100644 --- a/donate/models.py +++ b/donate/models.py @@ -100,3 +100,101 @@ class DonateHomePage(Page): @property def root_page(self): return self + + def get_context(self, request): + context = super().get_context(request) + + context["regions"] = ( + self.get_descendants().type(DonateRegionPage).live().specific() + ) + + try: + context["regions_url"] = ( + self.get_children() + .type(DonateRegionIndexPage) + .live() + .get() + .get_url(request) + ) + except Page.DoesNotExist: + context["regions_url"] = "#" + + return context + + +class DonateRegionIndexPage(Page): + parent_page_types = ["donate.DonateHomePage"] + subpage_types = ["donate.DonateRegionPage"] + + promote_panels = [ + MultiFieldPanel( + [ + FieldPanel("slug"), + FieldPanel("seo_title"), + FieldPanel("search_description"), + ], + gettext_lazy("Common page configuration"), + ), + ] + + settings_panels = [] + + # flag for rendering anchor links in menu + is_home = False + + class Meta: + verbose_name = "Přehled krajů" + + @property + def root_page(self): + if not hasattr(self, "_root_page"): + self._root_page = self.get_parent().specific + return self._root_page + + def get_context(self, request): + context = super().get_context(request) + context["regions"] = self.get_children().live().specific() + return context + + +class DonateRegionPage(Page): + perex = models.TextField("krátký popis do přehledu krajů") + body = RichTextField("obsah", blank=True) + + content_panels = Page.content_panels + [ + FieldPanel("perex"), + FieldPanel("body", classname="full"), + ] + + promote_panels = [ + MultiFieldPanel( + [ + FieldPanel("slug"), + FieldPanel("seo_title"), + FieldPanel("search_description"), + ], + gettext_lazy("Common page configuration"), + ), + ] + + settings_panels = [] + + parent_page_types = ["donate.DonateRegionIndexPage"] + subpage_types = [] + + # flag for rendering anchor links in menu + is_home = False + + class Meta: + verbose_name = "Kraj" + + @property + def root_page(self): + if not hasattr(self, "_root_page"): + self._root_page = self.get_ancestors().type(DonateHomePage).specific().get() + return self._root_page + + def get_context(self, request): + context = super().get_context(request) + context["other_regions"] = self.get_siblings(inclusive=False).live() + return context diff --git a/donate/static/donate/assets/css/style.css b/donate/static/donate/assets/css/style.css index e65af21f37b3081b41b5ed6ac928d15e3b903a74..fded27b68aa0300f29acf957bedc1153c9a26e2e 100644 --- a/donate/static/donate/assets/css/style.css +++ b/donate/static/donate/assets/css/style.css @@ -65,7 +65,7 @@ h6, h6.lead { } } -h1.lead, h2.lead, h3.lead, h4.lead, h5.lead, h6.lead { +h1.lead, h2.lead, h3.lead, h4.lead, h5.lead, h6.lead, .richtext h1, .richtext h2, .richtext h3, .richtext h4, .richtext h5, .richtext h6 { font-family: "Bebas Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; line-height: 1; text-transform: uppercase; diff --git a/donate/static/donate/img/vlajka.jpg b/donate/static/donate/img/vlajka.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbd6467d361a2212899a1eb23885177ea74ea67e Binary files /dev/null and b/donate/static/donate/img/vlajka.jpg differ diff --git a/donate/templates/donate/donate_home_page.html b/donate/templates/donate/donate_home_page.html index c64fbac731b1b96b6dc715510bb9b54e743e1102..df06dbb9a9d096baeec764bf0c19f4bbfc10d5c7 100644 --- a/donate/templates/donate/donate_home_page.html +++ b/donate/templates/donate/donate_home_page.html @@ -13,16 +13,16 @@ <div class="col-12 col-lg-7 mb-4 mb-lg-0 py-4 text-center text-md-left"> <h1 class="lead homepage-heading">{{ page.lead_title }}</h1> <p class="lead mb-4">{{ page.lead_body }}</p> - <div class="row align-items-center"> - <div class="col-12 col-md-auto mb-4 mb-md-0"> - <a href="#strana" class="btn btn-dark btn-lg js-scroll-anchor">Chci darovat <i class="icon-chevron-right ml-2"></i></a> - </div><!-- /column --> - <div class="col-12 col-md-auto"> - <div class="uvod__image-wrapper"> - <a href="https://www.pirati.cz" target="_blank" rel="noreferrer"><img data-src="{% static "donate/img/logo_napis.png" %}" class="lazyload img-fluid" alt="Logo pirátské strany"></a> - </div><!-- /uvod__image-wrapper --> - </div><!-- /column --> - </div> <!-- /row --> + <div class="row align-items-center"> + <div class="col-12 col-md-auto mb-4 mb-md-0"> + <a href="#strana" class="btn btn-dark btn-lg js-scroll-anchor">Chci darovat <i class="icon-chevron-right ml-2"></i></a> + </div><!-- /column --> + <div class="col-12 col-md-auto"> + <div class="uvod__image-wrapper"> + <a href="https://www.pirati.cz" target="_blank" rel="noreferrer"><img data-src="{% static "donate/img/logo_napis.png" %}" class="lazyload img-fluid" alt="Logo pirátské strany"></a> + </div><!-- /uvod__image-wrapper --> + </div><!-- /column --> + </div> <!-- /row --> </div><!-- /column --> <div class="col-12 col-lg-5 pl-xl-5 text-center"> @@ -186,41 +186,12 @@ <p class="mb-4">{{ page.region_body }}</p> <div class="row regions mb-4"> - {# TODO #} - <div class="col-12 col-md-4 mb-4"> - <a class="card region" href="kraj.php"> - <div class="card-body"> - <h5>Pardubický kraj</h5> - <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin. - Aliquam erat volutpat. Maecenas sollicitudin. Aliquam erat volutpat..</p> - </div> - </a> - </div><!-- /column --> - - <div class="col-12 col-md-4 mb-4"> - <a class="card region" href="kraj.php"> - <div class="card-body"> - <h5>Pardubický kraj</h5> - <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin. - Aliquam erat volutpat. Maecenas sollicitudin. Aliquam erat volutpat..</p> - </div> - </a> - </div><!-- /column --> - - <div class="col-12 col-md-4 mb-4"> - <a class="card region" href="kraj.php"> - <div class="card-body"> - <h5>Pardubický kraj</h5> - <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sollicitudin. - Aliquam erat volutpat. Maecenas sollicitudin. Aliquam erat volutpat..</p> - </div> - </a> - </div><!-- /column --> + {% for region in regions %} + {% include "donate/region_snippet.html" %} + {% endfor %} </div> <!-- /row --> - - {# TODO #} - <a href="#" class="btn btn-dark btn-lg my-2">Všechny kraje <i class="icon-chevron-right ml-2"></i></a> + <a href="{{ regions_url }}" class="btn btn-dark btn-lg my-2">Všechny kraje <i class="icon-chevron-right ml-2"></i></a> </div> <!-- /container --> </section> diff --git a/donate/templates/donate/donate_region_index_page.html b/donate/templates/donate/donate_region_index_page.html new file mode 100644 index 0000000000000000000000000000000000000000..d5fe5dd5e6089fd0b5dae7bcb1d3e59954236e12 --- /dev/null +++ b/donate/templates/donate/donate_region_index_page.html @@ -0,0 +1,28 @@ +{% extends "donate/base.html" %} +{% load static wagtailcore_tags %} + +{% block content %} + +<!-- CONTENT --> +<main role="main"> + + <section class="section--primary"> + <div class="container"> + + <h1 class="lead homepage-heading mb-4">{{ page.title }}</h1> + + <div class="row regions mb-4"> + + {% for region in regions %} + {% include "donate/region_snippet.html" %} + {% endfor %} + + </div> <!-- /row --> + + </div> <!-- /container --> + </section> + +</main> +<!-- /CONTENT --> + +{% endblock %} diff --git a/donate/templates/donate/donate_region_page.html b/donate/templates/donate/donate_region_page.html new file mode 100644 index 0000000000000000000000000000000000000000..afcdec653fff58c7b555fe0fef0fe388b6eaef9e --- /dev/null +++ b/donate/templates/donate/donate_region_page.html @@ -0,0 +1,127 @@ +{% extends "donate/base.html" %} +{% load static wagtailcore_tags %} + +{% block content %} + +<!-- CONTENT --> +<main role="main"> + + <section class="section--alternate region__header"> + <div class="container"> + <h1 class="lead heading">{{ page.title }}</h1> + </div> <!-- /container --> + </section> + + <section class="section--primary"> + <div class="container"> + + <div class="row"> + <div class="col-12 col-lg-7 mb-5 mb-lg-0 richtext"> + {{ page.body|richtext }} + </div><!-- /column --> + + <div class="col-12 col-lg-5 col-xl-4 offset-xl-1"><!-- /column --> + <div class="region-donate-form mb-4"> + + <div class="region-donate-form__left"> + <div class="region-donate-form__left-content"> + <h2 class="lead mb-0">Podpoř kraj</h2> + </div><!-- /region-donate-form__left-content --> + </div><!-- /region-donate-form__left --> + + <div class="region-donate-form__right"> + <p class="mb-2"> + Pokud chcete podpořit tento kraj, zadejte prosím částku a vyberte mezi měsíčním + nebo jednorázovým příspěvkem. Po kliknutí na tlačítko <strong>Darovat</strong> budete + přesměrováni na formulář, kde vyplníte potřebné údaje a vyberete způsob převodu financí. + </p> + <form id="js-donate-form"> + <div class="form-group row mb-2 align-items-center"> + <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend> + <div class="col-md-12"> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount1" name="amount" value="100" class="custom-control-input" checked> + <label class="custom-control-label col-form-label-lg" for="amount1">100 Kč</label> + </div> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount2" name="amount" value="200" class="custom-control-input"> + <label class="custom-control-label col-form-label-lg" for="amount2">200 Kč</label> + </div> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount3" name="amount" value="500" class="custom-control-input"> + <label class="custom-control-label col-form-label-lg" for="amount3">500 Kč</label> + </div> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount4" name="amount" value="custom" class="custom-control-input"> + <label class="custom-control-label col-form-label-lg" for="amount4">Jiná</label> + </div> + </div> + </div> + <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input" style="display: none;"> + <div class="col-md-12"> + <div class="input-group input-group-lg mb-3 custom-amount"> + <input type="text" class="form-control" id="customamount" name="customamount" placeholder="1000" aria-describedby="customamount-currency"> + <div class="input-group-append"> + <span class="input-group-text" id="customamount-currency">Kč</span> + </div> + </div> + </div> + </div> + <div class="form-group row mb-4 align-items-center"> + <legend class="col-form-label col-md-12 col-form-label-lg">Typ příspěvku</legend> + <div class="col-md-12"> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="type1" name="type" value="monthly" class="custom-control-input" checked> + <label class="custom-control-label col-form-label-lg" for="type1">Měsíční</label> + </div> + <div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="type2" name="type" value="onetime" class="custom-control-input"> + <label class="custom-control-label col-form-label-lg" for="type2">Jednorázový</label> + </div> + </div> + </div> + <div class="form-group row mb-0"> + <div class="col-12"> + <button type="submit" class="btn btn-success btn-lg">Darovat</button> + </div> + </div> + </form> + </div><!-- /region-donate-form__right --> + </div> + + <div class="article__sharing-box"> + <div class="card-body"> + <div class="sharing-box__content"> + <div class="icon"><i class="icon-heart"></i></div> + <div class="text"><h3 class="lead">Sdílení je aktem lásky</h3></div> + </div> + <div class="sharing-buttons"> + {# TODO #} + <a href="#" class="btn btn-facebook"><i class="icon-facebook-f"></i></a> + <a href="#" class="btn btn-twitter"><i class="icon-twitter"></i></a> + <a href="#" class="btn btn-linkedin"><i class="icon-linkedin"></i></a> + </div> + </div> + <div class="image"><img data-src="{% static "donate/img/vlajka.jpg" %}" class="img-fluid lazyload" alt="Vlajka pirátů"></div> + </div><!-- /article__sharing-box --> + + </div><!-- /column --> + </div> <!-- /row --> + </div> <!-- /container --> + </section> + + <section class="section--alternate project__related"> + <div class="container"> + <h2 class="lead page-subheading mb-4">Ostatní kraje</h2> + <div class="row other-regions mb-4"> + {% for region in other_regions %} + <div class="col-12 col-md-6 col-lg-4"><a href="{% pageurl region %}">{{ region.title }}</a></div> + {% endfor %} + </div><!-- /row --> + </div><!-- /container --> + </section> + +</main> +<!-- /CONTENT --> + +{% endblock %} diff --git a/donate/templates/donate/region_snippet.html b/donate/templates/donate/region_snippet.html new file mode 100644 index 0000000000000000000000000000000000000000..b171c51c5c09705200a59320511a2772557c259f --- /dev/null +++ b/donate/templates/donate/region_snippet.html @@ -0,0 +1,9 @@ +{% load wagtailcore_tags %} +<div class="col-12 col-md-4 mb-4"> + <a class="card region" href="{% pageurl region %}"> + <div class="card-body"> + <h5>{{ region.title }}</h5> + <p>{{ region.perex }}</p> + </div> + </a> +</div><!-- /column -->