/** * Saves a rapportVisite into the database. * * @param \GSB\Domain\RapportVisite $rapportVisite The rapportVisite to save */ public function save(RapportVisite $rapportVisite) { $rapportVisiteData = array('id_praticien' => $rapportVisite->getPraticien()->getId(), 'id_visiteur' => $rapportVisite->getVisiteur()->getId(), 'date_rapport' => $rapportVisite->getDateRapport()->format('Y-m-d'), 'bilan' => $rapportVisite->getBilan(), 'motif' => $rapportVisite->getMotif()); // The rapportVisite has never been saved : insert it $this->getDb()->insert('rapport_visite', $rapportVisiteData); // Get the id of the newly created rapportVisite and set it on the entity. $id = $this->getDb()->lastInsertId(); $rapportVisite->setId($id); }
$password = $encoder->encodePassword($plainPassword, $visiteur->getSalt()); $visiteur->setPassword($password); $app['dao.visiteur']->save($visiteur); $app['session']->getFlashBag()->add('success', 'Vos informations personnelles ont été mises à jour.'); } $visiteurFormView = $visiteurForm->createView(); return $app['twig']->render('profil.html.twig', array('visiteurForm' => $visiteurFormView)); })->bind('profil'); // Liste de tous les rapports de visite $app->get('/rapport/', function () use($app) { $rapports = $app['dao.rapport']->findAllByVisiteur($app['user']->getId()); return $app['twig']->render('rapports.html.twig', array('rapports' => $rapports)); })->bind('rapports'); // Rapport de visite $app->match('/rapport/ajout', function (Request $request) use($app) { $rapport = new RapportVisite(); $user = $app['user']; $rapport->setVisiteur($user); $praticiens = $app['dao.praticien']->findAll(); $rapportFormView = null; $rapportForm = $app['form.factory']->create(new RapportType($praticiens), $rapport); $rapportForm->handleRequest($request); if ($rapportForm->isSubmitted() && $rapportForm->isValid()) { // Ajoute manuellement le praticien au nouveau rapport $praticienId = $rapportForm->get('praticien')->getData(); $praticien = $app['dao.praticien']->find($praticienId); $rapport->setPraticien($praticien); // Sauvegarde le nouveau rapport $app['dao.rapport']->save($rapport); $app['session']->getFlashBag()->add('success', 'Le rapport a été sauvegardé.'); }