Fixed serializer for admin speaker

Change-Id: I4c59645d5b513ab8ced6a26f408f60e3ef967904
Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
smarcet 2021-04-07 17:43:59 -03:00
parent d11f38cbc4
commit db9623fcda
2 changed files with 23 additions and 3 deletions

View File

@ -28,4 +28,10 @@ class AdminPresentationSerializer extends PresentationSerializer
'selection_status', 'selection_status',
]; ];
/**
* @return string
*/
protected function getSpeakersSerializerType():string{
return SerializerRegistry::SerializerType_Private;
}
} }

View File

@ -61,7 +61,7 @@ class PresentationSerializer extends SummitEventSerializer
/** /**
* @return string * @return string
*/ */
protected function getMediaUploadsSerializerType(){ protected function getMediaUploadsSerializerType():string{
$serializerType = SerializerRegistry::SerializerType_Public; $serializerType = SerializerRegistry::SerializerType_Public;
$currentUser = $this->resource_server_context->getCurrentUser(); $currentUser = $this->resource_server_context->getCurrentUser();
if(!is_null($currentUser) && $currentUser->isAdmin()){ if(!is_null($currentUser) && $currentUser->isAdmin()){
@ -70,6 +70,13 @@ class PresentationSerializer extends SummitEventSerializer
return $serializerType; return $serializerType;
} }
/**
* @return string
*/
protected function getSpeakersSerializerType():string{
return SerializerRegistry::SerializerType_Public;
}
/** /**
* @param null $expand * @param null $expand
* @param array $fields * @param array $fields
@ -162,11 +169,18 @@ class PresentationSerializer extends SummitEventSerializer
case 'speakers': { case 'speakers': {
$speakers = []; $speakers = [];
foreach ($presentation->getSpeakers() as $s) { 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; $values['speakers'] = $speakers;
if(isset($values['moderator_speaker_id']) && intval($values['moderator_speaker_id']) > 0 ){ 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; break;