Skip to content

Commit 86954a8

Browse files
authored
Merge branch 'main' into kid/570/search-scope-dropdown
2 parents aaaf7be + fad4688 commit 86954a8

3 files changed

Lines changed: 32 additions & 2 deletions

File tree

backend/news/467.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed the Person serializer to show the back button and able to add Image and file content type. @iFlameing

backend/src/kitconcept/intranet/serializers/person.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
from kitconcept.intranet.interfaces import IBrowserLayer
33
from plone import api
44
from plone.restapi.interfaces import ISerializeToJson
5-
from plone.restapi.serializer.dxcontent import SerializeToJson
5+
from plone.restapi.serializer.dxcontent import SerializeFolderToJson
66
from zope.component import adapter
77
from zope.interface import implementer
88

99

1010
@implementer(ISerializeToJson)
1111
@adapter(IPerson, IBrowserLayer)
12-
class PersonSerializer(SerializeToJson):
12+
class PersonSerializer(SerializeFolderToJson):
1313
"""Custom serializer for Person content type."""
1414

1515
def __call__(self, **kwargs):
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from plone import api
2+
from plone.restapi.interfaces import ISerializeToJson
3+
from Products.CMFPlone.Portal import PloneSite
4+
from zope.component import getMultiAdapter
5+
6+
import pytest
7+
8+
9+
class TestPersonSerializer:
10+
@pytest.fixture(autouse=True)
11+
def _setup(self, portal: PloneSite) -> None:
12+
self.portal = portal
13+
14+
def test_person_is_folderish(self, portal):
15+
with api.env.adopt_roles(["Manager"]):
16+
person = api.content.create(
17+
container=portal,
18+
type="Person",
19+
id="jane-doe",
20+
given_name="Jane",
21+
family_name="Doe",
22+
)
23+
api.content.create(container=person, type="Image", id="portrait")
24+
result = getMultiAdapter((person, portal.REQUEST), ISerializeToJson)()
25+
assert result["is_folderish"] is True
26+
assert result["items_total"] == 1
27+
# the vocabulary enrichment must survive
28+
assert "locations" in result
29+
assert "organisational_units" in result

0 commit comments

Comments
 (0)