Esempio n. 1
0
 public function formAddSubmitted(\Nette\Application\UI\Form $form)
 {
     $values = $form->values;
     try {
         $userRole = $this->em->getRepository('UserRole')->find($values->role);
         $values->role = $userRole;
         $user = new \Entity\User();
         $user->setValues((array) $values);
         $this->em->persist($user);
         $token = new \Entity\PasswordRecoveryToken();
         $token->setUser($user);
         $this->em->persist($token);
         $this->em->flush();
         $this->mailBuilder->buildAccountCreatedEmail($user, $token)->send();
         $this->flash(sprintf('User %s added', $user->name));
         $this->invalidateControl('grid');
         $this->popupOff();
     } catch (\PDOException $e) {
         switch ($e->getCode()) {
             case '23000':
                 $message = 'Duplicate data';
                 break;
         }
         $form->addError($message);
         $this->invalidateControl('form');
     }
 }