Archived
1
0
Fork 0

app/controllers/AuthController.php: add registerAction()

This commit is contained in:
Henrik Hautakoski 2018-08-14 22:53:24 +02:00
parent a337ccd4fa
commit 7b2f53e4dc
No known key found for this signature in database
GPG key ID: 839F3A7EAFAEAFAA

View file

@ -2,9 +2,12 @@
namespace App\Controller;
use App\Controller\ControllerBase;
use App\Controller\ControllerBase,
App\Model\Data\User,
App\Form\Login as LoginForm,
App\Form\Registration as RegistrationForm;
use App\Form\Login as LoginForm;
use Httpcb\OAuth\UserData\UserDataInterface;
class AuthController extends ControllerBase
{
@ -106,6 +109,34 @@ class AuthController extends ControllerBase
}
}
public function registerAction()
{
$data = $this->session->get('auth:register:data');
if (!($data instanceof UserDataInterface)) {
$this->response->redirect('/');
return;
}
$form = new RegistrationForm($data);
if ($this->request->isPost()) {
$user = new User();
$formData = $this->request->getPost();
if ($form->isValid($formData, $user) && $user->save()) {
$this->auth->systemLogin($user);
$this->flash->success('User successfully created. Now add your first callback!');
$this->response->redirect('/callback/new');
return;
}
$form->setEntity($formData);
} else {
$form->isValid($data->toArray());
}
$this->view->provider = $data->getProvider();
$this->view->form = $form;
}
public function logoutAction()
{
$this->auth->clearIdentity();