From cb5518c5bc459bcbd3f70cd636d017e476a66b98 Mon Sep 17 00:00:00 2001 From: LePetitTim Date: Fri, 13 Jan 2023 15:25:05 +0100 Subject: [PATCH 1/2] :fix: Check pictogram exist on categories during generation of pdfs --- docs/changelog.rst | 1 + geotrek/diving/templates/diving/dive_public_pdf_base.html | 2 +- geotrek/outdoor/templates/outdoor/course_public_pdf_base.html | 2 +- geotrek/outdoor/templates/outdoor/site_public_pdf_base.html | 2 +- geotrek/trekking/templates/trekking/trek_public_pdf_base.html | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 9cb59ca10b..e08d92b693 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -38,6 +38,7 @@ In preparation for HD Views developments (PR #3298) - Recreate cache folders if missing. (#3384) - Modify site's geometry before saving to avoid edition and export of shapefiles (#3399) - Fix API V2 cache key with X-Forwarded-Proto header (#3404) +- Check pictogram exist on categories during generation of pdfs 2.94.0 (2022-12-12) diff --git a/geotrek/diving/templates/diving/dive_public_pdf_base.html b/geotrek/diving/templates/diving/dive_public_pdf_base.html index f2b90f466f..519a8e1627 100644 --- a/geotrek/diving/templates/diving/dive_public_pdf_base.html +++ b/geotrek/diving/templates/diving/dive_public_pdf_base.html @@ -39,7 +39,7 @@
- {% if object.practice %} + {% if object.practice and object.practice.pictogram %}
diff --git a/geotrek/outdoor/templates/outdoor/course_public_pdf_base.html b/geotrek/outdoor/templates/outdoor/course_public_pdf_base.html index 50e8e98a75..5599313696 100644 --- a/geotrek/outdoor/templates/outdoor/course_public_pdf_base.html +++ b/geotrek/outdoor/templates/outdoor/course_public_pdf_base.html @@ -46,7 +46,7 @@
- {% if object.parent_sites.first.practice.pictogram %} + {% if object.parent_sites.first.practice and object.parent_sites.first.practice.pictogram %}
diff --git a/geotrek/outdoor/templates/outdoor/site_public_pdf_base.html b/geotrek/outdoor/templates/outdoor/site_public_pdf_base.html index f21c8c437b..6aeea05d04 100644 --- a/geotrek/outdoor/templates/outdoor/site_public_pdf_base.html +++ b/geotrek/outdoor/templates/outdoor/site_public_pdf_base.html @@ -46,7 +46,7 @@
- {% if object.practice.pictogram %} + {% if object.practice and object.practice.pictogram %}
diff --git a/geotrek/trekking/templates/trekking/trek_public_pdf_base.html b/geotrek/trekking/templates/trekking/trek_public_pdf_base.html index 0c1f25abfa..9df2b05bed 100644 --- a/geotrek/trekking/templates/trekking/trek_public_pdf_base.html +++ b/geotrek/trekking/templates/trekking/trek_public_pdf_base.html @@ -48,7 +48,7 @@
- {% if object.practice %} + {% if object.practice and object.practice.pictogram %}
From 492dbfe3003fb92218910aee60807a1f5f2eda9c Mon Sep 17 00:00:00 2001 From: LePetitTim Date: Mon, 16 Jan 2023 15:40:07 +0100 Subject: [PATCH 2/2] test: Add test pdf without pictogram --- geotrek/trekking/tests/test_views.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/geotrek/trekking/tests/test_views.py b/geotrek/trekking/tests/test_views.py index 7b72348ed6..83a7943077 100755 --- a/geotrek/trekking/tests/test_views.py +++ b/geotrek/trekking/tests/test_views.py @@ -43,7 +43,7 @@ TrekNetworkFactory, WebLinkFactory, AccessibilityFactory, TrekRelationshipFactory, ServiceFactory, ServiceTypeFactory, TrekWithServicesFactory, TrekWithInfrastructuresFactory, - TrekWithSignagesFactory) + TrekWithSignagesFactory, PracticeFactory) from ..models import POI, Trek, Service, OrderedTrekChild @@ -500,6 +500,19 @@ def test_list_in_csv(self): self.assertEqual(row['Cities'], "Trifouilli, Refouilli") self.assertEqual(row['Districts'], self.district.name) + @mock.patch('mapentity.helpers.requests') + def test_document_public_export_without_pictogram(self, mock_requests): + if self.model is None: + return # Abstract test should not run + mock_requests.get.return_value.status_code = 200 + mock_requests.get.return_value.content = b'

Mock

' + practice = PracticeFactory.create(pictogram=None) + obj = self.modelfactory.create(practice=practice) + response = self.client.get( + reverse(f'{self.model._meta.app_label}:{self.model._meta.model_name}_printable', + kwargs={'lang': 'en', 'pk': obj.pk, 'slug': obj.slug})) + self.assertEqual(response.status_code, 200) + class TrekViewsLiveTests(CommonLiveTest): model = Trek