Added Affiliation data to speaker json
Change-Id: I46286e55c8d9a67a267276b5f18025d1adc87408
This commit is contained in:
parent
ce175eb5be
commit
aeb15ac0ca
@ -80,6 +80,16 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer
|
||||
$values['last_name'] = $last_name;
|
||||
}
|
||||
|
||||
|
||||
$affiliations = [];
|
||||
if($speaker->hasMember()) {
|
||||
$member = $speaker->getMember();
|
||||
foreach ($member->getCurrentAffiliations() as $affiliation) {
|
||||
$affiliations[] = SerializerRegistry::getInstance()->getSerializer($affiliation)->serialize('organization');
|
||||
}
|
||||
}
|
||||
$values['affiliations'] = $affiliations;
|
||||
|
||||
if (!empty($expand)) {
|
||||
foreach (explode(',', $expand) as $relation) {
|
||||
switch (trim($relation)) {
|
||||
|
@ -89,16 +89,17 @@ final class SerializerRegistry
|
||||
$this->registry['SummitLocationImage'] = SummitLocationImageSerializer::class;
|
||||
|
||||
// member
|
||||
$this->registry['Member'] = [
|
||||
$this->registry['Member'] = [
|
||||
self::SerializerType_Public => PublicMemberSerializer::class,
|
||||
self::SerializerType_Private => OwnMemberSerializer::class
|
||||
];
|
||||
$this->registry['Group'] = GroupSerializer::class;
|
||||
$this->registry['Affiliation'] = AffiliationSerializer::class;
|
||||
$this->registry['Organization'] = OrganizationSerializer::class;
|
||||
|
||||
$this->registry['Group'] = GroupSerializer::class;
|
||||
$this->registry['Affiliation'] = AffiliationSerializer::class;
|
||||
$this->registry['Organization'] = OrganizationSerializer::class;
|
||||
|
||||
// push notification
|
||||
$this->registry['SummitPushNotification'] = SummitPushNotificationSerializer::class;
|
||||
$this->registry['SummitPushNotification'] = SummitPushNotificationSerializer::class;
|
||||
|
||||
// teams
|
||||
$this->registry['ChatTeam'] = ChatTeamSerializer::class;
|
||||
|
@ -13,6 +13,7 @@
|
||||
**/
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Criteria;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use models\exceptions\ValidationException;
|
||||
use models\summit\Summit;
|
||||
@ -48,6 +49,20 @@ class Member extends SilverstripeBaseModel
|
||||
return $this->affiliations;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Affiliation[]
|
||||
*/
|
||||
public function getCurrentAffiliations(){
|
||||
$criteria = Criteria::create()
|
||||
->where(Criteria::expr()->eq("is_current", true))
|
||||
->andWhere(Criteria::expr()->eq("end_date", null))
|
||||
->orderBy([
|
||||
"start_date" => Criteria::ASC,
|
||||
]);
|
||||
|
||||
return $this->affiliations->matching($criteria);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Group[]
|
||||
*/
|
||||
@ -446,7 +461,7 @@ class Member extends SilverstripeBaseModel
|
||||
->select('distinct f')
|
||||
->from('models\summit\SummitEventFeedback','f')
|
||||
->join('f.event','e')
|
||||
->join('f.owner','o')
|
||||
->join('f.owner','o')
|
||||
->join('e.summit','s')
|
||||
->where('s.id = :summit_id and o.id = :owner_id and e.published = 1')
|
||||
->setParameter('summit_id', $summit->getId())
|
||||
|
@ -128,7 +128,7 @@ final class OAuth2SummitApiTest extends ProtectedApiTest
|
||||
);
|
||||
|
||||
$content = $response->getContent();
|
||||
$summit = json_decode($content);
|
||||
$summit = json_decode($content);
|
||||
$this->assertTrue(!is_null($summit));
|
||||
$this->assertTrue(count($summit->schedule) > 0);
|
||||
$this->assertResponseStatus(200);
|
||||
|
Loading…
x
Reference in New Issue
Block a user