function editDetails($slug, Request $request, Application $app) { if (!$this->build($slug, $request, $app)) { $app->abort(404, "Area does not exist."); } if ($this->parameters['area']->getIsDeleted()) { die("No"); // TODO } $form = $app['form.factory']->create(new AreaEditForm($app), $this->parameters['area']); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $areaEditMetaDataModel = new AreaEditMetaDataModel(); $areaEditMetaDataModel->setUserAccount($app['currentUser']); if ($form->has('edit_comment')) { $areaEditMetaDataModel->setEditComment($form->get('edit_comment')->getData()); } $areaRepository = new AreaRepository(); $areaRepository->editWithMetaData($this->parameters['area'], $areaEditMetaDataModel); return $app->redirect("/area/" . $this->parameters['area']->getSlugForURL()); } } $this->parameters['form'] = $form->createView(); return $app['twig']->render('site/area/edit.details.html.twig', $this->parameters); }