コード例 #1
0
 public function executeInscription(HTTPRequest $Request)
 {
     $this->page->addVar('title', 'Inscription');
     $this->run();
     if ($Request->method() == 'POST') {
         $Member = new Member();
         $Member->setLogin($Request->postData('login'));
         $Member->setPassword($Request->postData('password'));
         $Member->setPassword_confirmation($Request->postData('password_confirmation'));
         $Member->setEmail($Request->postData('email'));
         $Member->setLevel(3);
     } else {
         $Member = new Member();
     }
     $FormBuilder = new MemberFormBuilder($Member, $this->managers->getManagerOf('Member'));
     $FormBuilder->build();
     $Form = $FormBuilder->form();
     // On récupère le gestionnaire de formulaire.
     $FormHandler = new \OCFram\FormHandler($Form, $this->managers->getManagerOf('Member'), $Request);
     if ($FormHandler->process()) {
         // Ici ne résident plus que les opérations à effectuer une fois l'entité du formulaire enregistrée
         // (affichage d'un message informatif, redirection, etc.).
         $this->app->user()->setFlash('Le membre a bien été ajouté, merci !');
         $this->app->user()->setAuthenticated(true);
         $this->app->user()->setAttribute('user', $Member);
         $this->app->httpResponse()->redirect('.');
     }
     $Router = new Router();
     $this->page->addVar('form', $Form->createView());
     $this->page->addVar('router', $Router);
 }