Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions backend/news/467.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed the Person serializer to show the back button and able to add Image and file content type. @iFlameing
4 changes: 2 additions & 2 deletions backend/src/kitconcept/intranet/serializers/person.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
from kitconcept.intranet.interfaces import IBrowserLayer
from plone import api
from plone.restapi.interfaces import ISerializeToJson
from plone.restapi.serializer.dxcontent import SerializeToJson
from plone.restapi.serializer.dxcontent import SerializeFolderToJson
from zope.component import adapter
from zope.interface import implementer


@implementer(ISerializeToJson)
@adapter(IPerson, IBrowserLayer)
class PersonSerializer(SerializeToJson):
class PersonSerializer(SerializeFolderToJson):
"""Custom serializer for Person content type."""

def __call__(self, **kwargs):
Expand Down
29 changes: 29 additions & 0 deletions backend/tests/content_types/test_person_serializer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from plone import api
from plone.restapi.interfaces import ISerializeToJson
from Products.CMFPlone.Portal import PloneSite
from zope.component import getMultiAdapter

import pytest


class TestPersonSerializer:
@pytest.fixture(autouse=True)
def _setup(self, portal: PloneSite) -> None:
self.portal = portal

def test_person_is_folderish(self, portal):
with api.env.adopt_roles(["Manager"]):
person = api.content.create(
container=portal,
type="Person",
id="jane-doe",
given_name="Jane",
family_name="Doe",
)
api.content.create(container=person, type="Image", id="portrait")
result = getMultiAdapter((person, portal.REQUEST), ISerializeToJson)()
assert result["is_folderish"] is True
assert result["items_total"] == 1
# the vocabulary enrichment must survive
assert "locations" in result
assert "organisational_units" in result
Loading