Esempio n. 1
0
 /**
  * @inheritdoc
  *
  * @param Group $subject
  */
 protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
 {
     /** @var User $user */
     $user = $token->getUser();
     if (!$user instanceof User) {
         return false;
     }
     if ($subject->getOwnerId() == $user->getId()) {
         return true;
     }
     $membership = $this->membershipManager->findUserMembershipOfGroup($subject->getId(), $user->getId());
     if (!$membership) {
         return false;
     }
     if ($attribute === 'EDIT' && $membership->getRole() === Membership::ROLE_ADMIN) {
         return true;
     }
     return false;
 }
Esempio n. 2
0
 /**
  * @param Group $group
  *
  * @return array
  */
 public function normalizeGroup(Group $group)
 {
     return ['reference' => $group->getReference(), 'name' => $group->getName(), 'description' => $group->getDescription(), 'type' => $group->getType(), 'owner' => $group->getOwnerId(), 'parent' => $group->getParentId()];
 }