diff --git a/CHANGES.rst b/CHANGES.rst index 35c223f..fff6051 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog 1.1.11 (unreleased) ------------------- +- Handle missing infos in prenotazioniFolder serializer. + [cekk] + - Compatibilize with the 2.0.1 redturtle.prenotazioni version. - Add the UO.contact_info field to @bookable-uo-list response. [folix-01] diff --git a/src/design/plone/ioprenoto/restapi/serializers/ovverrides/prenotazioniFolder.py b/src/design/plone/ioprenoto/restapi/serializers/ovverrides/prenotazioniFolder.py index cefd3e6..76a2243 100644 --- a/src/design/plone/ioprenoto/restapi/serializers/ovverrides/prenotazioniFolder.py +++ b/src/design/plone/ioprenoto/restapi/serializers/ovverrides/prenotazioniFolder.py @@ -26,11 +26,11 @@ def __call__(self, *args, **kwargs): ): # XXX: this is a workaround to avoid the Unauthorized exception return { - "@components": resp["@components"], - "@id": resp["@id"], - "@type": resp["@type"], - "layout": resp["layout"], - "title": resp["title"], + "@components": resp.get("@components", {}), + "@id": resp.get("@id", ""), + "@type": resp.get("@type", ""), + "layout": resp.get("@layout", ""), + "title": resp.get("@title", ""), "error": "Unauthorized", "anonymous": api.user.is_anonymous(), } diff --git a/src/design/plone/ioprenoto/tests/test_prenotazione_add.py b/src/design/plone/ioprenoto/tests/test_prenotazione_add.py index bc58044..54a8fbb 100644 --- a/src/design/plone/ioprenoto/tests/test_prenotazione_add.py +++ b/src/design/plone/ioprenoto/tests/test_prenotazione_add.py @@ -30,17 +30,15 @@ def setUp(self): row["morning_start"] = "0700" row["morning_end"] = "1000" self.folder_prenotazioni.week_table = week_table - api.content.transition( - obj=api.content.create( - type="PrenotazioneType", - title="Type A", - duration=30, - container=self.folder_prenotazioni, - gates=["all"], - ), - transition="publish", + booking_type_a = api.content.create( + type="PrenotazioneType", + title="Type A", + duration=30, + container=self.folder_prenotazioni, + gates=["all"], ) api.content.transition(obj=self.folder_prenotazioni, transition="publish") + api.content.transition(obj=booking_type_a, transition="publish") transaction.commit() self.api_session = RelativeSession(self.portal_url)