%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Controller/ |
Current File : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Controller/ModeleController.php |
<?php namespace EEM\ArticleBundle\Controller; use EEM\ArticleBundle\Entity\Modele; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;use Symfony\Component\HttpFoundation\Request; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; /** * Modele controller. * * @Route("/admin/modele") */ class ModeleController extends Controller { /** * Lists all modele entities. * * @Route("/", name="modele_index") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $marques = $em->getRepository('EEMArticleBundle:Marque')->findAll(); if (isset($request->query->all()['famille']) && !empty($request->query->all()['famille'])) { $marques = $em->getRepository('EEMArticleBundle:Marque')->findMarques($request->query->all()['famille']); } if (isset($request->request->all()['btn_search'])) { $url = $this->buildSearchUrl($request->request->all()); if (!empty($url)) { return $this->redirectToRoute('modele_index', $url); } } $paginator = $this->get('knp_paginator'); $familles = $em->getRepository('EEMArticleBundle:Famille')->findAll(); $modeles = $paginator->paginate( $em->getRepository('EEMArticleBundle:Modele')->MyFindAll($request->query->all()), /* query NOT result */ $request->query->getInt('page', 1)/* page number */, 10/* limit per page */ ); return $this->render('@EEMArticle/modele/index.html.twig', array( 'modeles' => $modeles, 'marques' => $marques, 'familles' => $familles, )); } /** * Creates a new modele entity. * * @Route("/new", name="modele_new") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function newAction(Request $request) { $modele = new Modele(); $form = $this->createForm('EEM\ArticleBundle\Form\ModeleType', $modele); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($modele); $em->flush(); $this->addFlash('success', 'Nouveau modèle ajouté avec succès.'); return $this->redirectToRoute('modele_show', array('id' => $modele->getId())); } return $this->render('@EEMArticle/modele/new.html.twig', array( 'modele' => $modele, 'form' => $form->createView(), )); } /** * Finds and displays a modele entity. * * @Route("/{id}", name="modele_show") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function showAction(Modele $modele) { $deleteForm = $this->createDeleteForm($modele); return $this->render('@EEMArticle/modele/show.html.twig', array( 'modele' => $modele, 'delete_form' => $deleteForm->createView(), )); } /** * Displays a form to edit an existing modele entity. * * @Route("/{id}/edit", name="modele_edit") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function editAction(Request $request, Modele $modele) { $deleteForm = $this->createDeleteForm($modele); $editForm = $this->createForm('EEM\ArticleBundle\Form\ModeleType', $modele); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { $this->getDoctrine()->getManager()->flush(); $this->addFlash('success', 'Modèle modifé avec succès.'); return $this->redirectToRoute('modele_index'); } return $this->render('@EEMArticle/modele/edit.html.twig', array( 'modele' => $modele, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView(), )); } /** * Deletes a modele entity. * * @Route("/{id}/delete", name="modele_delete") * @Method("DELETE") * @Security("has_role('ROLE_USER')") */ public function deleteAction(Request $request, Modele $modele) { $form = $this->createDeleteForm($modele); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->remove($modele); $em->flush(); $this->addFlash('success', 'Modèle supprimé avec succès.'); } return $this->redirectToRoute('modele_index'); } /** * Creates a form to delete a modele entity. * * @param Modele $modele The modele entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Modele $modele) { return $this->createFormBuilder() ->setAction($this->generateUrl('modele_delete', array('id' => $modele->getId()))) ->setMethod('DELETE') ->getForm() ; } private function buildSearchUrl($data) { $url = []; foreach ($data as $k => $v) { if (isset($data['famille']) && !empty($data['famille'])) { $url['famille'] = $data['famille']; } if (isset($data['marque']) && !empty($data['marque'])) { $url['marque'] = $data['marque']; } } return $url; } }