Skip to content

Instantly share code, notes, and snippets.

Created November 24, 2013 10:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/7625794 to your computer and use it in GitHub Desktop.
Save anonymous/7625794 to your computer and use it in GitHub Desktop.
public function createAction(Request $request, $package_id)
{
$package = $this->getPackage($package_id);
$entity = new Prestation();
$entity->setPackage($package);
$form = $this->createCreateForm($entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('prestation_show', array('id' => $entity->getId())).
'#prestation-' . $entity->getId()
);
}
return $this->render('TestTestBundle:Prestation:new.html.twig', array(
'entity' => $entity,
'form' => $form->createView(),
));
}
private function createCreateForm(Prestation $entity)
{
$form = $this->createForm(new PrestationType(), $entity, array(
'action' => $this->generateUrl('prestation_create'),
'method' => 'POST',
));
$form->add('submit', 'submit', array('label' => 'Create'));
return $form;
}
public function newAction($package_id)
{
$package = $this->getPackage($package_id);
$entity = new Prestation();
$entity->setPackage($package);
$form = $this->createCreateForm($entity);
return $this->render('TestTestBundle:Prestation:new.html.twig', array(
'entity' => $entity,
'form' => $form->createView(),
));
}
protected function getPackage($package_id)
{
$em = $this->getDoctrine()->getManager();
$package = $em->getRepository('TestTestBundle:Package')->find($package_id);
if (!$package) {
throw $this->createNotFoundException('Unable to find Blog post.');
}
return $package;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment