Esempio n. 1
0
 /**
  * @dataProvider encodeUserProvider
  */
 public function testEncodeUser($userName, $email, $plainPassword)
 {
     $user = new User();
     $user->setUserName($userName);
     $user->setEmail($email);
     $user->setPlainPassword($plainPassword);
     Kernel::getService("em")->persist($user);
     Kernel::getService("em")->flush();
     $this->assertTrue($user->getHandler()->isPasswordValid($plainPassword));
     Kernel::getService("em")->remove($user);
     Kernel::getService("em")->flush();
 }
 /**
  *
  * @param  User   $user
  *
  * @return \Symfony\Component\Form\Form
  */
 protected function buildEditSecurityForm(User $user)
 {
     $defaults = ['enabled' => $user->isEnabled(), 'locked' => !$user->isAccountNonLocked(), 'expiresAt' => $user->getExpiresAt(), 'expired' => $user->getExpired(), 'credentialsExpiresAt' => $user->getCredentialsExpiresAt(), 'credentialsExpired' => $user->getCredentialsExpired(), 'chroot' => $user->getChroot() !== null ? $user->getChroot()->getId() : null];
     $builder = $this->getService('formFactory')->createNamedBuilder('source', 'form', $defaults);
     $builder->add('enabled', 'checkbox', ['label' => 'user.enabled', 'required' => false])->add('locked', 'checkbox', ['label' => 'user.locked', 'required' => false])->add('expiresAt', 'datetime', ['label' => 'user.expiresAt', 'required' => false, 'years' => range(date('Y'), date('Y') + 2), 'placeholder' => ['year' => 'year', 'month' => 'month', 'day' => 'day', 'hour' => 'hour', 'minute' => 'minute']])->add('expired', 'checkbox', ['label' => 'user.force.expired', 'required' => false])->add('credentialsExpiresAt', 'datetime', ['label' => 'user.credentialsExpiresAt', 'required' => false, 'years' => range(date('Y'), date('Y') + 2), 'placeholder' => ['year' => 'year', 'month' => 'month', 'day' => 'day', 'hour' => 'hour', 'minute' => 'minute']])->add('credentialsExpired', 'checkbox', ['label' => 'user.force.credentialsExpired', 'required' => false]);
     if ($this->isGranted("ROLE_SUPERADMIN")) {
         $n = $user->getChroot();
         $n = $n !== null ? [$n] : [];
         $builder->add('chroot', new \RZ\Roadiz\CMS\Forms\NodesType($n, $this->getService('em')), ['label' => 'chroot', 'required' => false]);
     }
     return $builder->getForm();
 }
Esempio n. 3
0
 /**
  * @param RZ\Roadiz\Core\Entities\User $user
  *
  * @return \Symfony\Component\Form\Form
  */
 private function buildDeleteForm(User $user)
 {
     $builder = $this->createFormBuilder()->add('userId', 'hidden', ['data' => $user->getId(), 'constraints' => [new NotBlank()]]);
     return $builder->getForm();
 }
 /**
  * @param RZ\Roadiz\Core\Entities\User  $user
  * @param RZ\Roadiz\Core\Entities\Group $group
  *
  * @return \Symfony\Component\Form\Form
  */
 private function buildRemoveGroupForm(User $user, Group $group)
 {
     $builder = $this->createFormBuilder()->add('userId', 'hidden', ['data' => $user->getId(), 'constraints' => [new NotBlank()]])->add('groupId', 'hidden', ['data' => $group->getId(), 'constraints' => [new NotBlank()]]);
     return $builder->getForm();
 }
Esempio n. 5
0
 /**
  * @param string          $username
  * @param InputInterface  $input
  * @param OutputInterface $output
  *
  * @return RZ\Roadiz\Core\Entities\User
  */
 private function executeUserCreation($username, InputInterface $input, OutputInterface $output)
 {
     $user = new User();
     $user->setUsername($username);
     do {
         $questionEmail = new Question('<question>Email</question> : ', '');
         $email = $this->questionHelper->ask($input, $output, $questionEmail);
     } while (!filter_var($email, FILTER_VALIDATE_EMAIL) || $this->entityManager->getRepository('RZ\\Roadiz\\Core\\Entities\\User')->emailExists($email));
     $user->setEmail($email);
     $questionBack = new ConfirmationQuestion('<question>Is user a backend user?</question> : ', false);
     if ($this->questionHelper->ask($input, $output, $questionBack)) {
         $user->addRole($this->getRole(Role::ROLE_BACKEND_USER));
     }
     $questionAdmin = new ConfirmationQuestion('<question>Is user a super-admin user?</question> : ', false);
     if ($this->questionHelper->ask($input, $output, $questionAdmin)) {
         $user->addRole($this->getRole(Role::ROLE_SUPERADMIN));
     }
     $this->entityManager->persist($user);
     $user->getViewer()->sendSignInConfirmation();
     $this->entityManager->flush();
     $text = '<info>User “' . $username . '”<' . $email . '> created…</info>' . PHP_EOL;
     $text .= '<info>Password “' . $user->getPlainPassword() . '”.</info>' . PHP_EOL;
     $output->writeln($text);
     return $user;
 }
Esempio n. 6
0
 /**
  * @param array $data
  *
  * @return boolean
  */
 public function createDefaultUser($data)
 {
     $existing = $this->entityManager->getRepository('RZ\\Roadiz\\Core\\Entities\\User')->findOneBy(['username' => $data['username'], 'email' => $data['email']]);
     if ($existing === null) {
         $user = new User();
         $user->setUsername($data['username']);
         $user->setPlainPassword($data['password']);
         $user->setEmail($data['email']);
         $url = "http://www.gravatar.com/avatar/" . md5(strtolower(trim($user->getEmail()))) . "?d=identicon&s=200";
         $user->setPictureUrl($url);
         $existingGroup = $this->entityManager->getRepository('RZ\\Roadiz\\Core\\Entities\\Group')->findOneByName('Admin');
         $user->addGroup($existingGroup);
         $this->entityManager->persist($user);
         $this->entityManager->flush();
     }
     return true;
 }
Esempio n. 7
0
 /**
  * {@inheritdoc}
  *
  * @param User $user
  *
  * @return boolean
  */
 public function equals(User $user)
 {
     return $this->username == $user->getUsername() || $this->email == $user->getEmail();
 }
 /**
  * @param RZ\Roadiz\Core\Entities\User $user
  * @param RZ\Roadiz\Core\Entities\Role $role
  *
  * @return \Symfony\Component\Form\Form
  */
 private function buildRemoveRoleForm(User $user, Role $role)
 {
     $builder = $this->createFormBuilder()->add('userId', 'hidden', ['data' => $user->getId(), 'constraints' => [new NotBlank()]])->add('roleId', 'hidden', ['data' => $role->getId(), 'constraints' => [new NotBlank()]]);
     return $builder->getForm();
 }
Esempio n. 9
0
 /**
  * @param array                        $data
  * @param RZ\Roadiz\Core\Entities\Group $group
  * @param RZ\Roadiz\Core\EntitiesUser   $user
  *
  * @return RZ\Roadiz\Core\Entities\User
  */
 private function removeUser($data, Group $group, User $user)
 {
     if ($data['groupId'] == $group->getId() && $data['userId'] == $user->getId()) {
         if ($user !== null) {
             $user->removeGroup($group);
             $this->getService('em')->flush();
         }
         return $user;
     }
 }