Exemple #1
0
 /**
  * @param \Nette\Application\UI\Form $form
  * @param string $resetKey
  */
 protected function save(Form $form, $resetKey)
 {
     $user = $this->userRepository->findOneBy(array('resetKey' => $resetKey));
     $user->removeResetKey($resetKey);
     $user->setPassword($form['password']->getValue());
     $this->entityManager->flush();
     $this->securityManager->sendNewPassword($user);
 }
Exemple #2
0
 /**
  * @return \Nette\Application\UI\Form
  */
 public function create()
 {
     $form = $this->formFactory->create();
     $form->addHidden('provider')->setValue($this->provider);
     $form['parameters'] = $this->securityManager->getLoginProviderByName($this->provider)->getFormContainer();
     $form->addSubmit('_submit', 'Save')->getControlPrototype()->class[] = 'btn-primary';
     $form->addSubmit('cancel', 'Cancel')->setValidationScope(false);
     return $form;
 }
Exemple #3
0
 /**
  * @return \Nette\Application\UI\Form
  */
 public function create()
 {
     $form = $this->formFactory->create();
     $form->addText('username', 'E-mail')->setRequired('Please provide a e-mail.');
     $form->addPassword('password', 'Password')->setRequired('Please provide a password.');
     $form->addCheckbox('remember', 'Remember me on this computer');
     $form->addSubmit('_submit', 'Sign in')->getControlPrototype()->class[] = 'btn-primary';
     $socialButtons = $form->addContainer('socialButtons');
     foreach ($this->securityManager->getLoginProviders() as $loginProvider) {
         $socialButtons->addSubmit(str_replace(' ', '_', $loginProvider), $loginProvider)->setValidationScope(false);
     }
     return $form;
 }
Exemple #4
0
 /**
  * @param \Nette\Application\UI\Form $form
  * @param callable $resetLinkCallback
  */
 protected function save(Form $form, $resetLinkCallback)
 {
     /** @var \Venne\Security\User $user */
     $user = $this->userRepository->findOneBy(array('email' => $form['email']->value));
     if (!$user) {
         $form->addError($form->getTranslator()->translate('User with email %email% does not exist.', null, array('email' => $form['email']->value)));
         return;
     }
     $key = $user->resetPassword();
     $url = Callback::invoke($resetLinkCallback, $key);
     $this->entityManager->persist($user);
     $this->entityManager->flush($user);
     $this->securityManager->sendRecoveryUrl($user, $url);
 }
 /**
  * @return \Nette\Application\UI\Form
  */
 public function create()
 {
     $form = $this->formFactory->create();
     $reg = array();
     foreach ($this->registrationRepository->findAll() as $registration) {
         $reg[$registration->id] = $registration->name;
     }
     $form->addGroup('Authentication');
     $form->addSelect('autologin', 'Auto login')->setItems($this->securityManager->getLoginProviders(), false)->setPrompt('Deactivated')->addCondition($form::EQUAL, '')->elseCondition()->toggle('form-autoregistration');
     $form->addGroup()->setOption('id', 'form-autoregistration');
     $form->addSelect('autoregistration', 'Auto registration')->setPrompt('Deactivated')->setItems($reg);
     $form->setCurrentGroup();
     $form->addSubmit('_submit', 'Save');
     return $form;
 }
Exemple #6
0
 /**
  * @return \Nette\Application\UI\Form
  */
 public function create()
 {
     $form = $this->formFactory->create();
     $form->addGroup();
     $user = $form->addContainer('user');
     $providers = $user->addDynamic('loginProviders', function (Container $container) use($form) {
         $container->setCurrentGroup($form->addGroup('Login provider'));
         $container->addSelect('type', 'Type')->setItems($this->securityManager->getLoginProviders(), false);
         $container->addText('uid', 'UID');
         $container->addSubmit('remove', 'Remove')->addRemoveOnClick();
     });
     $providers->addSubmit('add', 'Add')->addCreateOnClick();
     $form->setCurrentGroup();
     $form->addSubmit('_submit', 'Save');
     return $form;
 }
 /**
  * @return \Nette\Application\UI\Form
  */
 public function create()
 {
     \Kdyby\Replicator\Container::register();
     $form = $this->formFactory->create();
     $userTypes = array();
     foreach ($this->securityManager->getUserTypes() as $name => $val) {
         $userTypes[$name] = $val->getName();
     }
     $form->addCheckbox('enabled', 'Enabled');
     $form->addCheckbox('invitation', 'Only as invitation');
     $form->addText('name', 'Name');
     $form->addHidden('key');
     $form->addSelect('userType', 'Type', $userTypes);
     $form->addSelect('mode', 'Mode', Registration::getModes());
     $form->addSelect('loginProviderMode', 'Login provider mode', Registration::getLoginProviderModes());
     $form->addMultiSelect('roles', 'Roles')->setOption(IComponentMapper::ITEMS_TITLE, 'name');
     return $form;
 }
Exemple #8
0
 /**
  * @return \Nette\Forms\Form
  */
 protected function createComponentAccountForm()
 {
     $user = $this->userRepository->find($this->getUser()->getIdentity()->getId());
     $formService = $this->securityManager->getUserTypeByClass($user->getClass())->getFrontFormService();
     $form = $formService->getFormFactory($user->getId())->create();
     $form->onSuccess[] = function () {
         $this->flashMessage($this->translator->translate('Account settings has been updated.'), 'success');
         $this->redirect('this');
         $this->redrawControl('content');
     };
     return $form;
 }
Exemple #9
0
 /**
  * @param string $provider
  * @param mixed|null $parameters
  */
 private function authenticate($provider, $parameters = null)
 {
     $login = $this->securityManager->getLoginProviderByName($provider);
     try {
         if ($parameters) {
             $login->setAuthenticationParameters($parameters);
         }
         $identity = $login->authenticate(array());
         $this->presenter->user->login($identity);
     } catch (AuthenticationException $e) {
         $this->onError($this, $e->getMessage());
     }
     $this->redirect('this');
 }
Exemple #10
0
 /**
  * @return \Nette\Application\UI\Form
  */
 public function createComponentForm()
 {
     $userType = $this->securityManager->getUserTypeByClass($this->userType);
     $this->currentUser = $this->createNewUser();
     $userType->getRegistrationFormService()->getFormFactory();
     $form = $userType->getRegistrationFormService()->getFormFactory()->create();
     foreach ($this->securityManager->getLoginProviders() as $loginProvider) {
         $submit = $form->addSubmit('_submit_' . str_replace(' ', '_', $loginProvider), $loginProvider);
         $submit->setValidationScope(false);
         $submit->onClick[] = function () use($loginProvider) {
             $this->redirect('load!', array($loginProvider));
         };
     }
     $form->onSuccess[] = $this->formSuccess;
     return $form;
 }
Exemple #11
0
 /**
  * @return \Venne\Security\UserType
  */
 private function getUserType()
 {
     return $this->securityManager->getUserTypeByClass($this->type);
 }