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',
];
/**
* @return string
*/
protected function getSpeakersSerializerType():string{
return SerializerRegistry::SerializerType_Private;
}
}

View File

@ -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;