/** * Creates an rapportVisite object based on a DB row. * * @param array $row The DB row containing rapportVisite data. * @return \GSB\Domain\rapportVisite */ protected function buildDomainObject($row) { $rapportVisite = new RapportVisite(); $rapportVisite->setId($row['id_rapport']); $dateRapport = \DateTime::createFromFormat('Y-m-d', $row['date_rapport']); $rapportVisite->setDateRapport($dateRapport->format('Y-m-d')); //$rapportVisite->setDateRapport($row['date_rapport']); $rapportVisite->setBilan($row['bilan']); $rapportVisite->setMotif($row['motif']); if (array_key_exists('id_praticien', $row)) { // Find and set the associated praticien $praticienId = $row['id_praticien']; $praticien = $this->praticienDAO->find($praticienId); $rapportVisite->setPraticien($praticien); } if (array_key_exists('id_visiteur', $row)) { // Find and set the associated visiteur $visiteurId = $row['id_visiteur']; $visiteur = $this->visiteurDAO->find($visiteurId); $rapportVisite->setVisiteur($visiteur); } return $rapportVisite; }
$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é.'); } $rapportFormView = $rapportForm->createView(); return $app['twig']->render('rapport_ajout.html.twig', array('rapportForm' => $rapportFormView));