--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Company/BaseBundle/Controller/DocumentController.php Wed Sep 28 17:45:50 2011 +0200
@@ -0,0 +1,187 @@
+<?php
+
+namespace Company\BaseBundle\Controller;
+
+use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+
+use Company\BaseBundle\Entity\Document;
+use Company\BaseBundle\Form\DocumentType;
+
+/**
+ * Document controller.
+ *
+ */
+class DocumentController extends Controller
+{
+ /**
+ * Lists all Document entities.
+ *
+ */
+ public function indexAction()
+ {
+ $em = $this->getDoctrine()->getEntityManager();
+
+ $entities = $em->getRepository('CompanyBaseBundle:Document')->findAll();
+
+ return $this->render('CompanyBaseBundle:Document:index.html.twig', array(
+ 'entities' => $entities
+ ));
+ }
+
+ /**
+ * Finds and displays a Document entity.
+ *
+ */
+ public function showAction($id)
+ {
+ $em = $this->getDoctrine()->getEntityManager();
+
+ $entity = $em->getRepository('CompanyBaseBundle:Document')->find($id);
+
+ if (!$entity) {
+ throw $this->createNotFoundException('Unable to find Document entity.');
+ }
+
+ $deleteForm = $this->createDeleteForm($id);
+
+ return $this->render('CompanyBaseBundle:Document:show.html.twig', array(
+ 'entity' => $entity,
+ 'delete_form' => $deleteForm->createView(),
+
+ ));
+ }
+
+ /**
+ * Displays a form to create a new Document entity.
+ *
+ */
+ public function newAction()
+ {
+ $entity = new Document();
+ $form = $this->createForm(new DocumentType(), $entity);
+
+ return $this->render('CompanyBaseBundle:Document:new.html.twig', array(
+ 'entity' => $entity,
+ 'form' => $form->createView()
+ ));
+ }
+
+ /**
+ * Creates a new Document entity.
+ *
+ */
+ public function createAction()
+ {
+ $entity = new Document();
+ $request = $this->getRequest();
+ $form = $this->createForm(new DocumentType(), $entity);
+ $form->bindRequest($request);
+
+ if ($form->isValid()) {
+ $em = $this->getDoctrine()->getEntityManager();
+ $em->persist($entity);
+ $em->flush();
+
+ return $this->redirect($this->generateUrl('document_show', array('id' => $entity->getId())));
+
+ }
+
+ return $this->render('CompanyBaseBundle:Document:new.html.twig', array(
+ 'entity' => $entity,
+ 'form' => $form->createView()
+ ));
+ }
+
+ /**
+ * Displays a form to edit an existing Document entity.
+ *
+ */
+ public function editAction($id)
+ {
+ $em = $this->getDoctrine()->getEntityManager();
+
+ $entity = $em->getRepository('CompanyBaseBundle:Document')->find($id);
+
+ if (!$entity) {
+ throw $this->createNotFoundException('Unable to find Document entity.');
+ }
+
+ $editForm = $this->createForm(new DocumentType(), $entity);
+ $deleteForm = $this->createDeleteForm($id);
+
+ return $this->render('CompanyBaseBundle:Document:edit.html.twig', array(
+ 'entity' => $entity,
+ 'edit_form' => $editForm->createView(),
+ 'delete_form' => $deleteForm->createView(),
+ ));
+ }
+
+ /**
+ * Edits an existing Document entity.
+ *
+ */
+ public function updateAction($id)
+ {
+ $em = $this->getDoctrine()->getEntityManager();
+
+ $entity = $em->getRepository('CompanyBaseBundle:Document')->find($id);
+
+ if (!$entity) {
+ throw $this->createNotFoundException('Unable to find Document entity.');
+ }
+
+ $editForm = $this->createForm(new DocumentType(), $entity);
+ $deleteForm = $this->createDeleteForm($id);
+
+ $request = $this->getRequest();
+
+ $editForm->bindRequest($request);
+
+ if ($editForm->isValid()) {
+ $em->persist($entity);
+ $em->flush();
+
+ return $this->redirect($this->generateUrl('document_edit', array('id' => $id)));
+ }
+
+ return $this->render('CompanyBaseBundle:Document:edit.html.twig', array(
+ 'entity' => $entity,
+ 'edit_form' => $editForm->createView(),
+ 'delete_form' => $deleteForm->createView(),
+ ));
+ }
+
+ /**
+ * Deletes a Document entity.
+ *
+ */
+ public function deleteAction($id)
+ {
+ $form = $this->createDeleteForm($id);
+ $request = $this->getRequest();
+
+ $form->bindRequest($request);
+
+ if ($form->isValid()) {
+ $em = $this->getDoctrine()->getEntityManager();
+ $entity = $em->getRepository('CompanyBaseBundle:Document')->find($id);
+
+ if (!$entity) {
+ throw $this->createNotFoundException('Unable to find Document entity.');
+ }
+
+ $em->remove($entity);
+ $em->flush();
+ }
+
+ return $this->redirect($this->generateUrl('document'));
+ }
+
+ private function createDeleteForm($id)
+ {
+ return $this->createFormBuilder(array('id' => $id))
+ ->add('id', 'hidden')
+ ->getForm()
+ ;
+ }
+}