public function executeEdit(\Library\HTTPRequest $request) { //Si le formulaire a été envoyé if ($request->method() == 'POST') { $poche = $request->postData('poche') == 'on' ? 1 : 0; $ebook = $request->postData('ebook') == 'on' ? 1 : 0; $livre = new \Library\Entities\Livre(array('id' => $request->postData('id'), 'nom' => $request->postData('nom'), 'annee' => $request->postData('annee'), 'couverture' => $_FILES['couverture']['tmp_name'], 'genreId' => $request->postData('genreId'), 'auteurId' => $request->postData('auteurId'), 'poche' => $poche, 'ebook' => $ebook)); } else { $livre = $this->managers->getManagerOf('Livre')->getLivreById($request->getData('id')); if (empty($livre)) { $this->app->httpResponse()->redirect('erreur.html'); } } //On construit le formulaire $formBuilder = new \Library\FormBuilder\LivreFormBuilder($livre); $formBuilder->build(); $form = $formBuilder->form(); // On récupère le gestionnaire de formulaire pour la sauvegarde $formHandler = new \Library\FormHandler($form, $this->managers->getManagerOf('Livre'), $request); if ($formHandler->process()) { $this->app->user()->setFlash(utf8_encode('Livre enregistré avec succès.')); $this->app->httpResponse()->redirect('/livre-' . $livre->id() . '.html'); } $this->page->addVar('livre', $livre); $this->page->addVar('form', $form->createView()); }
public function executeEdit(\Library\HTTPRequest $request) { //Si le formulaire a été envoyé if ($request->method() == 'POST') { $auteur = new \Library\Entities\Auteur(array('id' => $request->postData('id'), 'nom' => $request->postData('nom'), 'prenom' => $request->postData('prenom'))); } else { $auteur = $this->managers->getManagerOf('Auteur')->getAuteurById($request->getData('id')); if (empty($auteur)) { $this->app->httpResponse()->redirect('erreur.html'); } } //On construit le formulaire $formBuilder = new \Library\FormBuilder\AuteurFormBuilder($auteur); $formBuilder->build(); $form = $formBuilder->form(); // On récupère le gestionnaire de formulaire pour la sauvegarde $formHandler = new \Library\FormHandler($form, $this->managers->getManagerOf('Auteur'), $request); if ($formHandler->process()) { $this->app->user()->setFlash(utf8_encode('Auteur enregistré avec succès.')); $this->app->httpResponse()->redirect('/auteurs.html'); } $this->page->addVar('auteur', $auteur); $this->page->addVar('form', $form->createView()); }