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)) {
|
||||
|
@ -93,6 +93,7 @@ final class SerializerRegistry
|
||||
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;
|
||||
|
@ -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[]
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user