/** * Create a Study in the database. * * @param VBeeSiteApplication $app * @param Request $request * * @return Response */ public function createAction(VBeeSiteApplication $app, Request $request) { $person = $this->retrievePerson($request->get('personId')); $study = new Study(); $study->setPerson($person); /** @var FormInterface $form */ $form = $app['form.factory']->create('study', $study); $form->handleRequest($request); if ($form->isValid()) { $this->getStudyManager()->save($study); return $app->redirect($app->path('admin_person_show', ['personId' => $person->getId()])); } return $app->render('Study/create.html.twig', ['person' => $person, 'form' => $form->createView()]); }
/** * {@inheritdoc} */ public function hydrate(array $data) { // TODO: make a factory $study = new Study(); $study->setId(isset($data['id']) ? $data['id'] : null); $study->setName(isset($data['name']) ? $data['name'] : null); $study->setDescription(isset($data['description']) ? $data['description'] : null); $study->setGraduation(isset($data['graduation']) ? $data['graduation'] : null); $study->setStartDate(isset($data['startDate']) ? $data['startDate'] : null); $study->setEndDate(isset($data['endDate']) ? $data['endDate'] : null); return $study; }