src/Company/BaseBundle/Controller/IndexController.php
author cavaliet
Wed, 19 Oct 2011 15:05:09 +0200
changeset 13 ed54c98a7fc8
parent 9 41a9fa70a47b
child 17 a16b5806e3f0
permissions -rwxr-xr-x
Add first files for tag list management.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace Company\BaseBundle\Controller;
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use Company\BaseBundle\Entity\Document;
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use IRI\Bundle\WikiTagBundle\Entity\Document as BaseDocument;
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
use Symfony\Component\HttpFoundation\Request;
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
class IndexController extends Controller
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
{
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    public function indexAction()
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        return $this->render('CompanyBaseBundle:Index:index.html.twig');
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    public function otherAction()
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        return $this->render('CompanyBaseBundle:Index:other_page.html.twig');
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    public function addDocumentAction(Request $request)
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        $doc = new Document();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        $form = $this->createFormBuilder($doc)
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        ->add('title', 'text')
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        ->add('description', 'textarea', array("required" => false,))
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        ->getForm();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        if ($request->getMethod() == 'POST') {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            $form->bindRequest($request);
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            if ($form->isValid()) {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
                $doc = $form->getData();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
                $em = $this->getDoctrine()->getEntityManager();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
                $em->persist($doc);
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
                $em->flush();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
                return $this->redirect($this->generateUrl('all_documents'));
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
            }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
        else{
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
            return $this->render('CompanyBaseBundle:Index:add_document.html.twig', array('form' => $form->createView()));
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    public function allDocumentsAction()
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        $rep_docs = $this->getDoctrine()->getRepository('CompanyBaseBundle:Document');
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	    $documents = $rep_docs->findAll();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
        return $this->render('CompanyBaseBundle:Index:all_documents.html.twig', array('documents' => $documents));
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
    public function allDocumentsPartialAction($param="")
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
        $rep_docs = $this->getDoctrine()->getRepository('CompanyBaseBundle:Document');
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	    $documents = $rep_docs->findAll();
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        return $this->render('CompanyBaseBundle:Index:all_documents_partial.html.twig', array('documents' => $documents, 'param' => $param));
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
    /**
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
     * Template with tag management
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
     *
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
     */
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
    public function documentWithTagAction($idDoc)
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
    {
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
        $rep_docs = $this->getDoctrine()->getRepository('CompanyBaseBundle:Document');
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
    	$doc = $rep_docs->findOneById($idDoc);
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
        return $this->render('CompanyBaseBundle:Index:tag_embedder.html.twig', array('doc' => $doc));
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
    }
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    
13
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    79
    /**
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    80
     * Template with the list of all tags
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    81
     * 
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    82
     */
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    83
    public function allTagsAction()
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    84
    {
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    85
        return $this->render('CompanyBaseBundle:Index:taglist_embedder.html.twig');
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    86
    }
ed54c98a7fc8 Add first files for tag list management.
cavaliet
parents: 9
diff changeset
    87
    
9
41a9fa70a47b continue to implement example app
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
}