Esempio n. 1
0
 /**
  * @param User|Organization $user
  */
 public function __construct($user)
 {
     if ($user == NULL) {
         $user = new User();
         $user->setIsReadOnly(true);
     }
     $this->user = $user;
     $this->memberships = $this->user instanceof User ? $this->user->getMemberships() : array();
 }
Esempio n. 2
0
 /**
  * @param Organization $orga
  * @param EmbedBag $includes
  * @return array
  */
 private function getIncludes(Organization $orga, EmbedBag $includes)
 {
     $embed = ['members' => []];
     if ($includes->has('members')) {
         foreach ($orga->getMemberships() as $membership) {
             $embed['members'][] = $this->orgaMemberTransformer->transform($membership, new EmbedBag(['user']));
         }
     } else {
         foreach ($orga->getMemberships() as $membership) {
             $embed['members'][] = $this->orgaMemberTransformer->transform($membership, new EmbedBag());
         }
     }
     return ['_embed' => $embed];
 }
 /**
  * View a given organization members and their associated informations.
  *
  * @ApiDoc(
  *   section = "Organization - Public data",
  *   description = "List of a given organization members (scope: public)",
  *   parameters={
  *      { "name"="login", "dataType"="string", "required"=true, "description"="Organization login" }
  *   }
  * )
  *
  * @Route("/public/orgas/{login}/members", name="api_public_orgas_members")
  * @Method("GET")
  */
 public function membersAction(Organization $orga)
 {
     return $this->format(['data' => $this->get('etu.api.orga_member.transformer')->transform($orga->getMemberships()->toArray(), new EmbedBag(['user']))]);
 }