public function load(ObjectManager $manager)
 {
     $group = new Group();
     $group->setUsername('public-group')->setManagerEmail('*****@*****.**')->setPassword('fakepassword');
     $group->setMembershipControl(Group::GROUP_MEMBERSHIP_PUBLIC);
     $manager->persist($group);
     $manager->flush();
     $this->addReference('public-group-fields', $group);
 }
 public function sendInviteForPetition($answers, Group $group)
 {
     /** @var $signedUser \Civix\CoreBundle\Entity\User */
     foreach ($answers as $signedUserAnswer) {
         $signedUser = $signedUserAnswer->getUser();
         if (!$group->getInvites()->contains($signedUser) && !$group->getUsers()->contains($signedUser)) {
             $signedUser->addInvite($group);
             if ($signedUser->getIsRegistrationComplete()) {
                 $this->pushTask->addToQueue('sendInvitePush', array($signedUser->getId()));
             } else {
                 $this->emailSender->sendInviteFromGroup($signedUser->getEmail(), $group);
             }
         }
     }
 }
 public function load(ObjectManager $manager)
 {
     //create group
     $group = new Group();
     $group->setUsername(self::GROUP_NAME);
     $group->setManagerEmail(self::GROUP_EMAIL);
     //encode password according configuration
     $factory = $this->container->get('security.encoder_factory');
     $encoder = $factory->getEncoder($group);
     $password = $encoder->encodePassword(self::GROUP_PASSWORD, $group->getSalt());
     $group->setPassword($password);
     $manager->persist($group);
     $manager->flush();
     $this->addReference('group', $group);
 }
 private function creatGroup($username, $password, $officialName, $groupType)
 {
     $stateGroup = new Group();
     $stateGroup->setUsername($username);
     $stateGroup->setManagerEmail('*****@*****.**');
     $stateGroup->setOfficialName($officialName);
     $stateGroup->setGroupType($groupType);
     $generator = new SecureRandom();
     $password = $generator->nextBytes(10);
     $stateGroup->setPassword($password);
     return $stateGroup;
 }
 private function creatGroup($username, $password, $officialName, $groupType, $parent = null)
 {
     $stateGroup = new Group();
     $stateGroup->setUsername($username);
     $stateGroup->setManagerEmail(self::COMMON_STATE_GROUP_EMAIL);
     $stateGroup->setOfficialName($officialName);
     $stateGroup->setGroupType($groupType);
     $stateGroup->setParent($parent);
     $stateGroup->setLocationName($username);
     $generator = new SecureRandom();
     $factory = $this->container->get('security.encoder_factory');
     $encoder = $factory->getEncoder($stateGroup);
     $password = $encoder->encodePassword(sha1($generator->nextBytes(10)), $stateGroup->getSalt());
     $stateGroup->setPassword($password);
     return $stateGroup;
 }
示例#6
0
 public function sendUserRegistrationSuccessGroup(Group $group, $plainPassword)
 {
     $message = $this->createMessage('Group successful registered', $group->getManagerEmail(), 'CivixFrontBundle:Group:email/user_group_registered.html.twig', array('name' => $group->getOfficialName(), 'username' => $group->getUsername(), 'password' => $plainPassword));
     $this->mailer->send($message);
 }
示例#7
0
 /**
  * Set form fields
  *
  * @param FormBuilderInterface $builder
  * @param array                $options
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     parent::buildForm($builder, $options);
     $builder->add('groupSections', 'entity', ['label' => false, 'class' => 'CivixCoreBundle:GroupSection', 'choices' => $this->user->getGroupSections(), 'required' => false, 'expanded' => true, 'multiple' => true]);
 }
示例#8
0
 public function setPermissionsByGroup(Group $group)
 {
     if (!$group->getRequiredPermissions()) {
         return $this;
     }
     foreach ($group->getRequiredPermissions() as $permissionKey) {
         $method = 'set' . str_replace('_', '', $permissionKey);
         $this->{$method}(true);
     }
     return $this;
 }
 /**
  * @Route(
  *     "/{group}/fields",
  *     requirements={"group"="\d+"},
  *     name="api_group_fields"
  * )
  * @Method("GET")
  */
 public function getGroupRequiredFields(Group $group)
 {
     $response = new Response($this->jmsSerialization($group->getFields(), ['api-groups-fields']));
     $response->headers->set('Content-Type', 'application/json');
     return $response;
 }
示例#10
0
 /**
  * @Given /^There are "([^"]*)" community in the system$/
  */
 public function thereAreCommunityInTheSystem($groupName)
 {
     /* @var $em EntityManager */
     $em = $this->getMainContext()->getEntityManager();
     $group = new Group();
     $group->setUsername($groupName)->setPassword($groupName)->setOfficialName($groupName)->setManagerEmail($groupName);
     $em->persist($group);
     $em->flush($group);
 }
 public function getOpenMicropetition(Group $group)
 {
     return $this->getEntityManager()->createQueryBuilder()->select('p, u')->from('CivixCoreBundle:Micropetitions\\Petition', 'p')->leftJoin('p.user', 'u')->where('p.expireAt > :currentDate')->andWhere('p.group = :group')->andWhere('p.publishStatus != 1')->orderBy('p.expireAt', 'DESC')->setParameter('currentDate', new \DateTime())->setParameter('group', $group->getId())->getQuery();
 }
 /**
  * @Route("/local/{id}", name="civix_front_superuser_local_groups_by_parent")
  * @Method({"GET"})
  * @Template("CivixFrontBundle:Superuser:manageLocalGroups.html.twig")
  */
 public function localGroupActionByState(Group $parent)
 {
     if ($parent->getGroupType() !== Group::GROUP_TYPE_STATE && $parent->getGroupType() !== Group::GROUP_TYPE_COUNTRY) {
         throw $this->createNotFoundException();
     }
     return array('selectedGroup' => $parent, 'countryGroups' => $this->getCountryGroups());
 }
 public function getLocalGroup(AddressComponent $addressComponent, Group $stateGroup = null)
 {
     $group = $this->findLocalGroup($addressComponent->getShortName(), $stateGroup);
     if (!$group) {
         $group = new Group();
         $group->setGroupType(Group::GROUP_TYPE_LOCAL)->setUsername($addressComponent->getShortName() . uniqid())->setOfficialName($addressComponent->getLongName())->setLocationName($addressComponent->getShortName())->setParent($stateGroup);
         $generator = new SecureRandom();
         $group->setPassword(sha1($generator->nextBytes(10)));
         $this->getEntityManager()->persist($group);
         $this->getEntityManager()->flush($group);
     }
     return $group;
 }
示例#14
0
 public function isMorePermissions(Group $oldGroup, Group $newGroup)
 {
     $oldSumPriorityValue = 0;
     $newSumPriorityValue = 0;
     $previousPermissions = $oldGroup->getRequiredPermissions();
     $newPermissions = $newGroup->getRequiredPermissions();
     foreach ($this->permissionPriority as $priority => $key) {
         $oldSumPriorityValue += $this->calcPriorityValue($previousPermissions, $key, $priority);
         $newSumPriorityValue += $this->calcPriorityValue($newPermissions, $key, $priority);
     }
     return $oldSumPriorityValue < $newSumPriorityValue;
 }
示例#15
0
 public static function toGroupOwnerData(Group $group)
 {
     return ['id' => $group->getId(), 'type' => $group->getType(), 'group_type' => $group->getGroupType(), 'official_title' => $group->getOfficialName(), 'avatar_file_path' => $group->getAvatarFileName()];
 }
 public function isStateGroup()
 {
     $this->__load();
     return parent::isStateGroup();
 }
 public function noticeGroupsPermissionsChanged(Group $group)
 {
     $target = ['id' => $group->getId(), 'type' => 'group'];
     /** @var User $user */
     foreach ($group->getUsers() as $user) {
         $socialActivity = (new SocialActivity(SocialActivity::TYPE_GROUP_PERMISSIONS_CHANGED, null, $group))->setTarget($target)->setRecipient($user);
         $this->em->persist($socialActivity);
         $this->em->flush($socialActivity);
         $this->pt->addToQueue('sendSocialActivity', [$socialActivity->getId()]);
     }
 }
 public function removeUserFields(User $user, Group $group)
 {
     $fieldIds = $group->getFillFieldsRequired() ? $group->getFieldsIds() : false;
     return $this->getEntityManager()->createQuery('DELETE FROM CivixCoreBundle:Group\\FieldValue fv
                       WHERE fv.user = :user AND fv.field in (:fieldsIds)')->setParameter('user', $user)->setParameter('fieldsIds', $fieldIds)->execute();
 }