From db9623fcdacf0827f3e87cd31bc801456d32b38e Mon Sep 17 00:00:00 2001 From: smarcet Date: Wed, 7 Apr 2021 17:43:59 -0300 Subject: [PATCH] Fixed serializer for admin speaker Change-Id: I4c59645d5b513ab8ced6a26f408f60e3ef967904 Signed-off-by: smarcet --- .../AdminPresentationSerializer.php | 6 ++++++ .../Presentation/PresentationSerializer.php | 20 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/ModelSerializers/Summit/Presentation/AdminPresentationSerializer.php b/app/ModelSerializers/Summit/Presentation/AdminPresentationSerializer.php index ccf31ae1..02908037 100644 --- a/app/ModelSerializers/Summit/Presentation/AdminPresentationSerializer.php +++ b/app/ModelSerializers/Summit/Presentation/AdminPresentationSerializer.php @@ -28,4 +28,10 @@ class AdminPresentationSerializer extends PresentationSerializer 'selection_status', ]; + /** + * @return string + */ + protected function getSpeakersSerializerType():string{ + return SerializerRegistry::SerializerType_Private; + } } \ No newline at end of file diff --git a/app/ModelSerializers/Summit/Presentation/PresentationSerializer.php b/app/ModelSerializers/Summit/Presentation/PresentationSerializer.php index 7afbfd30..d106d455 100644 --- a/app/ModelSerializers/Summit/Presentation/PresentationSerializer.php +++ b/app/ModelSerializers/Summit/Presentation/PresentationSerializer.php @@ -61,7 +61,7 @@ class PresentationSerializer extends SummitEventSerializer /** * @return string */ - protected function getMediaUploadsSerializerType(){ + protected function getMediaUploadsSerializerType():string{ $serializerType = SerializerRegistry::SerializerType_Public; $currentUser = $this->resource_server_context->getCurrentUser(); if(!is_null($currentUser) && $currentUser->isAdmin()){ @@ -70,6 +70,13 @@ class PresentationSerializer extends SummitEventSerializer return $serializerType; } + /** + * @return string + */ + protected function getSpeakersSerializerType():string{ + return SerializerRegistry::SerializerType_Public; + } + /** * @param null $expand * @param array $fields @@ -162,11 +169,18 @@ class PresentationSerializer extends SummitEventSerializer case 'speakers': { $speakers = []; foreach ($presentation->getSpeakers() as $s) { - $speakers[] = SerializerRegistry::getInstance()->getSerializer($s)->serialize(AbstractSerializer::filterExpandByPrefix($expand, $relation)); + $speakers[] = SerializerRegistry::getInstance()->getSerializer + ( + $s, $this->getSpeakersSerializerType() + )->serialize(AbstractSerializer::filterExpandByPrefix($expand, $relation)); } $values['speakers'] = $speakers; if(isset($values['moderator_speaker_id']) && intval($values['moderator_speaker_id']) > 0 ){ - $values['moderator'] = SerializerRegistry::getInstance()->getSerializer($presentation->getModerator())->serialize(AbstractSerializer::filterExpandByPrefix($expand, $relation)); + $values['moderator'] = SerializerRegistry::getInstance()->getSerializer + ( + $presentation->getModerator(), + $this->getSpeakersSerializerType() + )->serialize(AbstractSerializer::filterExpandByPrefix($expand, $relation)); } } break;