From e6167d151941d152761caf5593260a997460fe6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Farka?= <stepanfarka11@gmail.com> Date: Wed, 25 May 2022 12:27:33 +0200 Subject: [PATCH] [ADD] public conpect preview to project pages --- .../0023_donatesecretpreviewpage.py | 35 +++++++++++++++++++ donate/models.py | 34 +++++++++++++++++- donate/templates/donate/base.html | 2 +- 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 donate/migrations/0023_donatesecretpreviewpage.py diff --git a/donate/migrations/0023_donatesecretpreviewpage.py b/donate/migrations/0023_donatesecretpreviewpage.py new file mode 100644 index 00000000..5ee9f53a --- /dev/null +++ b/donate/migrations/0023_donatesecretpreviewpage.py @@ -0,0 +1,35 @@ +# Generated by Django 4.0.4 on 2022-05-25 09:25 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailcore", "0066_collection_management_permissions"), + ("donate", "0022_donatehomepage_custom_url_1_and_more"), + ] + + operations = [ + migrations.CreateModel( + name="DonateSecretPreviewPage", + 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": "Skrytá stránka pro náhled konceptu", + }, + bases=("wagtailcore.page",), + ), + ] diff --git a/donate/models.py b/donate/models.py index 431a3bba..e9c27bbd 100644 --- a/donate/models.py +++ b/donate/models.py @@ -6,6 +6,7 @@ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from django.db import models from django.http import HttpResponseRedirect from django.shortcuts import redirect +from django.template.response import TemplateResponse from modelcluster.fields import ParentalKey from wagtail.admin.edit_handlers import ( FieldPanel, @@ -510,7 +511,7 @@ class DonateProjectPage( ### RELATIONS parent_page_types = ["donate.DonateProjectIndexPage"] - subpage_types = [] + subpage_types = ["donate.DonateSecretPreviewPage"] ### OTHERS @@ -765,3 +766,34 @@ class DonateTargetedDonationsPage( context["initial_project_id"] = 0 return context + + +class DonateSecretPreviewPage(Page): + max_count_per_parent = 1 + + parent_page_types = [ + "donate.DonateProjectPage", + ] + subpage_types = [] + + class Meta: + verbose_name = "Skrytá stránka pro náhled konceptu" + + def get_context(self, request, *args, **kwargs): + parent_page = self.get_parent().get_latest_revision_as_page() + context = parent_page.get_context(request=request) + + context.update({"disable_robots": True}) + + return context + + def get_template(self, request, *args, **kwargs): + parent_page = self.get_parent().get_latest_revision_as_page() + return parent_page.get_template(request, *args, **kwargs) + + def serve(self, request, *args, **kwargs): + return TemplateResponse( + request, + self.get_template(request, *args, **kwargs), + self.get_context(request, *args, **kwargs), + ) diff --git a/donate/templates/donate/base.html b/donate/templates/donate/base.html index 00345f73..ec555c97 100644 --- a/donate/templates/donate/base.html +++ b/donate/templates/donate/base.html @@ -22,7 +22,7 @@ <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" %} + {% if settings.MAJAK_ENV == "test" or disable_robots %} <meta name="robots" content="noindex, nofollow"> {% endif %} -- GitLab