public function joinToGroup(User $user, Group $group) { //current status Group $userGroup = $this->entityManager->getRepository('CivixCoreBundle:UserGroup')->isJoinedUser($group, $user); //check if user is joined yet and want to join if ($userGroup) { return $userGroup; } $userGroup = new UserGroup($user, $group); if ($user->getInvites()->contains($group)) { $userGroup->setStatus(UserGroup::STATUS_ACTIVE); $user->removeInvite($group); } $userGroup->setPermissionsByGroup($group); $this->entityManager->createQueryBuilder()->delete(UserToGroup::class, 'i')->where('i.user = :user AND i.group = :group')->setParameter('user', $user)->setParameter('group', $group)->getQuery()->execute(); $this->entityManager->persist($userGroup); $this->entityManager->flush($userGroup); return $user; }
public function setStatus($status) { $this->__load(); return parent::setStatus($status); }
/** * @Given /^user "([^"]*)" joined to group "([^"]*)"$/ */ public function userJoinedToGroup($username, $groupName) { /* @var $em EntityManager */ $em = $this->getMainContext()->getEntityManager(); /* @var $user User */ $user = $em->getRepository(User::class)->findOneByUsername($username); /* @var $group Group */ $group = $em->getRepository(Group::class)->findOneByUsername($groupName); $userGroup = new UserGroup($user, $group); $userGroup->setStatus(UserGroup::STATUS_ACTIVE); $em->persist($userGroup); $em->flush($userGroup); }