Skip to content
Snippets Groups Projects
Commit c68f2a19 authored by jan.bednarik's avatar jan.bednarik
Browse files

donate: Cookies and info page, templates tweaks

parent 2a69b03c
No related branches found
No related tags found
1 merge request!30donate: Cookies and info page, templates tweaks
Pipeline #658 passed
# Generated by Django 3.0.6 on 2020-06-02 17:04
import django.db.models.deletion
import wagtail.core.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.core.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.core.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,
),
),
]
......@@ -28,9 +28,9 @@ class SubpageMixin:
return self.search_image or self.root_page.get_meta_image()
def get_url(page, request, dest_page_type):
def get_url(page, dest_page_type):
try:
return page.get_children().type(dest_page_type).live().get().get_url(request)
return page.get_children().type(dest_page_type).live().get().get_url()
except Page.DoesNotExist:
return "#"
......@@ -113,7 +113,12 @@ class DonateHomePage(Page, MetadataPageMixin):
FieldPanel("matomo_id"),
]
subpage_types = ["donate.DonateRegionIndexPage", "donate.DonateProjectIndexPage"]
subpage_types = [
"donate.DonateRegionIndexPage",
"donate.DonateProjectIndexPage",
"donate.DonateInfoPage",
"donate.DonateCookiesPage",
]
# flag for rendering anchor links in menu
is_home = True
......@@ -125,13 +130,32 @@ class DonateHomePage(Page, MetadataPageMixin):
def root_page(self):
return self
@property
def cookies_page_url(self):
return get_url(self, DonateCookiesPage)
@property
def info_page_url(self):
return get_url(self, DonateInfoPage)
@property
def projects_page_url(self):
return get_url(self, DonateProjectIndexPage)
@property
def regions_page_url(self):
return get_url(self, DonateRegionIndexPage)
@property
def has_projects(self):
return self.get_descendants().type(DonateProjectPage).live().exists()
def get_context(self, request):
context = super().get_context(request)
context["regions"] = (
self.get_descendants().type(DonateRegionPage).live().specific()
)
context["regions_url"] = get_url(self, request, DonateRegionIndexPage)
context["projects"] = (
self.get_descendants()
......@@ -140,7 +164,6 @@ class DonateHomePage(Page, MetadataPageMixin):
.specific()
.order_by("-donateprojectpage__date")[:3]
)
context["projects_url"] = get_url(self, request, DonateProjectIndexPage)
return context
......@@ -355,3 +378,67 @@ class DonateProjectPage(Page, SubpageMixin, MetadataPageMixin):
.order_by("-donateprojectpage__date")[:3]
)
return context
class DonateCookiesPage(Page, SubpageMixin, MetadataPageMixin):
body = RichTextField("obsah", blank=True)
content_panels = Page.content_panels + [
FieldPanel("body", classname="full"),
]
promote_panels = [
MultiFieldPanel(
[
FieldPanel("slug"),
FieldPanel("seo_title"),
FieldPanel("search_description"),
ImageChooserPanel("search_image"),
HelpPanel(help.build(help.NO_SEO_TITLE, help.NO_SEARCH_IMAGE)),
],
gettext_lazy("Common page configuration"),
),
]
settings_panels = []
parent_page_types = ["donate.DonateHomePage"]
subpage_types = []
# flag for rendering anchor links in menu
is_home = False
class Meta:
verbose_name = "Cookies"
class DonateInfoPage(Page, SubpageMixin, MetadataPageMixin):
body = RichTextField("obsah", blank=True)
content_panels = Page.content_panels + [
FieldPanel("body", classname="full"),
]
promote_panels = [
MultiFieldPanel(
[
FieldPanel("slug"),
FieldPanel("seo_title"),
FieldPanel("search_description"),
ImageChooserPanel("search_image"),
HelpPanel(help.build(help.NO_SEO_TITLE, help.NO_SEARCH_IMAGE)),
],
gettext_lazy("Common page configuration"),
),
]
settings_panels = []
parent_page_types = ["donate.DonateHomePage"]
subpage_types = []
# flag for rendering anchor links in menu
is_home = False
class Meta:
verbose_name = "Info"
......@@ -74,35 +74,18 @@
<ul class="navbar-nav ml-auto">
<li class="nav-item">
{% if page.is_home %}
<a class="nav-link js-scroll-anchor" href="#top">Úvod</a>
<a class="nav-link js-scroll-anchor" href="#strana">Podpoř Piráty</a>
{% else %}
<a class="nav-link" href="/#top">Úvod</a>
<a class="nav-link" href="/#strana">Podpoř Piráty</a>
{% endif %}
</li>
{% if page.root_page.has_projects %}
<li class="nav-item">
{% if page.is_home %}
<a class="nav-link js-scroll-anchor" href="#strana">Podpoř stranu</a>
{% else %}
<a class="nav-link" href="/#strana">Podpoř stranu</a>
{% endif %}
</li>
<li class="nav-item">
{% if page.is_home %}
<a class="nav-link js-scroll-anchor" href="#projekty">Podpoř projekt</a>
{% else %}
<a class="nav-link" href="/#projekty">Podpoř projekt</a>
{% endif %}
<a class="nav-link" href="{{ page.root_page.projects_page_url }}">Projekty a kampaně</a>
</li>
<li class="nav-item">
{% if page.is_home %}
<a class="nav-link js-scroll-anchor" href="#kraje">Podpoř kraj</a>
{% else %}
<a class="nav-link" href="/#kraje">Podpoř kraj</a>
{% endif %}
</li>
<li class="nav-item">
{# TODO #}
<a class="nav-link" href="#">Jak to funguje</a>
<a class="nav-link" href="{{ page.root_page.regions_page_url }}">Kraje</a>
</li>
</ul>
<a href="https://www.pirati.cz/" class="d-block d-lg-none mb-3 header_link header_link--mobile" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a>
......@@ -176,11 +159,9 @@
<div class="row">
<div class="col-12 col-md-6 mb-3 mb-md-0">
<p class="mb-0">&copy; {% now "Y" %} Piráti. Všechna práva vyhlazena.<br/>Sdílejte a nechte ostatní sdílet za stejných podmínek.</p>
<p>Vytvořil <a href="https://danielhlavacek.cz" target="_blank">Daniel Hlaváček</a></p>
</div><!-- /column -->
<div class="col-12 col-md-6 text-md-right">
{# TODO #}
<p class="mb-0">Tento web využívá soubory cookies - <a href="#">více informací</a></p>
<p class="mb-0">Tento web využívá soubory cookies - <a href="{{ page.root_page.cookies_page_url }}">více informací</a></p>
</div><!-- /column -->
</div><!-- /row -->
</div><!-- /container -->
......
{% extends "donate/base.html" %}
{% load 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 richtext">
{{ page.body|richtext }}
</div> <!-- /container -->
</section>
</main>
<!-- /CONTENT -->
{% endblock %}
......@@ -18,9 +18,7 @@
<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 -->
<a href="{{ page.info_page_url }}" class="btn btn-dark btn-lg">Chci vědět více <i class="icon-chevron-right ml-2"></i></a>
</div><!-- /column -->
</div> <!-- /row -->
</div><!-- /column -->
......@@ -45,13 +43,8 @@
<div class="donate-form__icon">
<img data-src="{% static "donate/img/donate.png" %}" class="lazyload img-fluid" alt="Ikona daru">
</div><!-- /donate-form__icon -->
<div class="donate-form__left-content">
<h2 class="lead mb-0">Darovací formulář</h2>
</div><!-- /donate-form__left-content -->
</div><!-- /donate-form__left -->
<div class="donate-form__right">
<p class="mb-4">Pokud nás chcete podpořit, 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-4 align-items-center">
<legend class="col-form-label col-md-4 col-form-label-lg">Částka</legend>
......@@ -70,7 +63,7 @@
</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>
<label class="custom-control-label col-form-label-lg" for="amount4">Jiná částka</label>
</div>
</div>
</div>
......@@ -109,6 +102,7 @@
</div> <!-- /container -->
</section>
{% if page.has_projects %}
<section class="section--alternate" id="projekty">
<div class="container">
......@@ -122,11 +116,14 @@
</div> <!-- /row -->
<a href="{{ projects_url }}" class="btn btn-dark btn-lg my-2">Všechny projekty <i class="icon-chevron-right ml-2"></i></a>
<a href="{{ page.projects_page_url }}" class="btn btn-dark btn-lg my-2">Všechny projekty a kampaně <i class="icon-chevron-right ml-2"></i></a>
</div> <!-- /container -->
</section>
<section class="section--primary" id="kraje">
{% else %}
<section class="section--alternate" id="kraje">
{% endif %}
<div class="container">
<h2 class="lead page-subheading mb-4">{{ page.region_title }}</h2>
......@@ -138,7 +135,7 @@
{% endfor %}
</div> <!-- /row -->
<a href="{{ regions_url }}" class="btn btn-dark btn-lg my-2">Všechny kraje <i class="icon-chevron-right ml-2"></i></a>
<a href="{{ page.regions_page_url }}" class="btn btn-dark btn-lg my-2">Všechny kraje <i class="icon-chevron-right ml-2"></i></a>
</div> <!-- /container -->
</section>
......
{% extends "donate/base.html" %}
{% load 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 richtext">
{{ page.body|richtext }}
</div> <!-- /container -->
</section>
</main>
<!-- /CONTENT -->
{% endblock %}
......@@ -12,6 +12,8 @@
{% for project in projects %}
{% include "donate/project_snippet.html" %}
{% empty %}
<div class="col"><p>Momentálně nejsou žádné aktivní projekty a kampaně.</p></div>
{% endfor %}
</div> <!-- /row -->
......
......@@ -67,14 +67,6 @@
<h5><strong>40 dní</strong> do konce</h5>
<hr>
{% endcomment %}
<p class="mb-2">
Pokud chcete podpořit tento projekt, 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>
......@@ -93,7 +85,7 @@
</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>
<label class="custom-control-label col-form-label-lg" for="amount4">Jiná částka</label>
</div>
</div>
</div>
......
......@@ -30,11 +30,6 @@
</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>
......@@ -53,7 +48,7 @@
</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>
<label class="custom-control-label col-form-label-lg" for="amount4">Jiná částka</label>
</div>
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment