Advertisement
xeonist

PlumeOptionsController.php

Oct 19th, 2011
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.58 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Dessin\PlumeBundle\Controller;
  4.  
  5. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Dessin\PlumeBundle\Form\Type\PlumeOptionsType;
  9. use Dessin\PlumeBundle\Entity\PlumeOptions;
  10. use Doctrine\Orm\NoResultException;
  11.  
  12.  
  13. class PlumeOptionsController extends Controller
  14. {
  15.    
  16.     public function editPlumeOptionsAction(Request $request, $user_ou)
  17.     {
  18.    
  19.         $session = $this->getRequest()->getSession();
  20.    
  21.         if($user_ou == "o")
  22.             $profile_id = $this->getRequest()->getSession()->get('profile_ou_id');
  23.         else if($user_ou == "u")
  24.             $profile_id = $this->getRequest()->getSession()->get('profile_id');
  25.    
  26.    
  27.         $repository = $this->getDoctrine()->getRepository('DessinProfileBundle:Profile');
  28.            
  29.         $profile = $repository->findOneById($profile_id);
  30.         if (!$profile) {
  31.             throw $this->createNotFoundException('plume.options.error.This.profile.does.not.exist');
  32.         }
  33.        
  34.         $plumeOptions = $profile->getPlumeOptions();
  35.        
  36.         if(!$plumeOptions instanceof PlumeOptions)
  37.             $plumeOptions   = new PlumeOptions();
  38.        
  39.         //$plumeOptions['profile_id'] = $profile_id;
  40.        
  41.         $form = $this->createForm(new PlumeOptionsType(/*$profile*/), $plumeOptions);
  42.         //return new Response("fdsfsd");
  43.         /*$repository = $this->getDoctrine()->getRepository('DessinPlumeBundle:PhysicalPlume');
  44.            
  45.         $physicalPlumes = $repository->findByProfile(
  46.             array('profile' => $profile_id),
  47.             array('index' => 'ASC')
  48.         );*/
  49.        
  50.         $query = $this->getDoctrine()->getEntityManager()->createQuery(
  51.             'SELECT pp FROM DessinPlumeBundle:PhysicalPlume pp WHERE pp.profile = :profile ORDER BY pp.index ASC'
  52.         )->setParameter('profile', $profile_id);
  53.        
  54.         $physicalPlumes = $query->getResult();
  55.        
  56.         //$physicalPlumes = $repository->findByProfile($profile_id);
  57.         //return new Response("123");
  58.         if ($request->getMethod() == 'POST') {
  59.             $form->bindRequest($request);
  60.        
  61.             if ($form->isValid()) {    
  62.                 $this->get('session')->setFlash('saveNotice', 'Your changes were saved!');
  63.        
  64.                 //persist
  65.                 $em = $this->getDoctrine()->getEntityManager();
  66.                 $em->persist($plumeOptions);
  67.                 $profile->setPlumeOptions($plumeOptions);
  68.                 $em->persist($profile);
  69.                 $em->flush();
  70.        
  71.                 return $this->redirect($this->generateUrl('plumeOptions',array('user_ou'=>$user_ou)));
  72.             }
  73.         }
  74.        
  75.         return $this->render('DessinPlumeBundle:PlumeOptions:plumeOptions.html.twig', array(
  76.                                 'form'          => $form->createView(),
  77.                                 'user_ou'       => $user_ou,
  78.                                 'physicalPlumes' => $physicalPlumes,
  79.         ));
  80.    
  81.     }
  82.    
  83.    
  84. }
  85.  
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement