public function performAction()
 {
     try {
         $identity = new Identity();
         $identity->providerUserId = $this->login;
         $identity->providerId = Password::getProvider()->id;
         $identity->meta = Password::getPasswordHash($this->login, $this->password);
         if ($identity->findSaved()) {
             throw new \Exception('Login is already registered');
         }
         $identity->save();
         $user = new User();
         $user->urlName = $this->login;
         $user->save();
         $userIdentity = new UserIdentity();
         $userIdentity->userId = $user->id;
         $userIdentity->identityId = $identity->id;
         $userIdentity->addedAt = TimeMachine::getInstance()->now();
         $userIdentity->save();
         AuthService::getInstance()->signIn($identity);
         Router::redirect($this->io->makeAnchor(Catalog::createState()));
     } catch (\Exception $exception) {
         $this->response->error($exception->getMessage());
         $this->response->addContent(new Form(RegisterReceive::createState($this->io), $this->io));
     }
 }
Beispiel #2
0
 public function performAction()
 {
     $this->response->success('Avec plaisir!');
     $this->response->addContent(new Form(RegisterReceive::createState(), $this->io));
 }
Beispiel #3
0
 static function setUpDefinition(Definition $definition, $options)
 {
     $options->action = Option::create(EnumActions::create()->addToEnum(SignIn::definition())->addToEnum(SignOut::definition())->addToEnum(Register::definition())->addToEnum(RegisterReceive::definition())->addToEnum(VkAuth::definition(), 'vk'))->setIsUnnamed()->setIsRequired();
 }