%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/VenteBundle/Controller/ |
Current File : /home/emtnaeewxm/www/src/EEM/VenteBundle/Controller/ChangementController.php |
<?php namespace EEM\VenteBundle\Controller; use EEM\FonctionnaliteBundle\Service\HistoriqueService; use EEM\VenteBundle\Entity\Changement; 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; /** * Changement controller. * * @Route("/admin/changement") */ class ChangementController extends Controller { /** * Lists all changement entities. * * @Route("/", name="changement_index") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function indexAction(Request $request) { $paginator = $this->get('knp_paginator'); $em = $this->getDoctrine()->getManager(); $changements = $paginator->paginate( $em->getRepository('EEMVenteBundle:Changement')->myFindAll($request->query->all()), /* query NOT result */ $request->query->getInt('page', 1)/* page number */, 20/* limit per page */ ); return $this->render('@EEMVente/changement/index.html.twig', array( 'changements' => $changements, )); } /** * Creates a new changement entity. * * @Route("/new", name="changement_new") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function newAction(Request $request) { $em = $this->getDoctrine()->getManager(); $historiqueService=new HistoriqueService($em); $changement = new Changement(); $form = $this->createForm('EEM\VenteBundle\Form\ChangementType', $changement); $form->handleRequest($request); $articleChangee=null; if ($form->isSubmitted() && $form->isValid()) { $data=$request->request->all()['eem_ventebundle_changement']; $articleAChangee=$em->getRepository('EEMArticleBundle:Article')->find($data['articleAChangeeId']); if(!empty($data['articleChangeeId'])){ $articleChangee=$em->getRepository('EEMArticleBundle:Article')->find($data['articleChangeeId']); } $ligneVente=$em->getRepository('EEMVenteBundle:LigneVente')->find($data['ligneVenteId']); $changement->setArticleChangee($articleChangee); $changement->setArticleAChangee($articleAChangee); $changement->setLigneVente($ligneVente); $changement->setDateChangement(new \DateTime()); $em->persist($changement); $articleAChangee->setQte($articleAChangee->getQte()+$data['qteAChangee']); $historiqueService->HistoriqueChangement($articleAChangee,$changement->getId(),'Retour article',$data['qteAChangee']); if($articleChangee){ $articleChangee->setQte($articleChangee->getQte()-$data['qteChangee']); $historiqueService->HistoriqueChangement($articleChangee,$changement->getId(),'Article changé',$data['qteChangee']); } $em->flush(); $this->addFlash('success', 'Nouveau changement ajouté avec succès.'); return $this->redirectToRoute('changement_show', array('id' => $changement->getId())); } return $this->render('@EEMVente/changement/new.html.twig', array( 'changement' => $changement, 'form' => $form->createView(), 'articles' => $em->getRepository('EEMArticleBundle:Article')->articleDisponible(), )); } /** * Finds and displays a changement entity. * * @Route("/{id}", name="changement_show") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function showAction(Changement $changement) { $deleteForm = $this->createDeleteForm($changement); return $this->render('@EEMVente/changement/show.html.twig', array( 'changement' => $changement, 'delete_form' => $deleteForm->createView(), )); } /** * Displays a form to edit an existing changement entity. * * @Route("/{id}/edit", name="changement_edit") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function editAction(Request $request, Changement $changement) { $deleteForm = $this->createDeleteForm($changement); $editForm = $this->createForm('EEM\VenteBundle\Form\ChangementType', $changement); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { $this->getDoctrine()->getManager()->flush(); return $this->redirectToRoute('changement_edit', array('id' => $changement->getId())); } return $this->render('@EEMVente/changement/edit.html.twig', array( 'changement' => $changement, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView(), )); } /** * Deletes a changement entity. * * @Route("/{id}/delete", name="changement_delete") * @Method("DELETE") * @Security("has_role('ROLE_USER')") */ public function deleteAction(Request $request, Changement $changement) { $form = $this->createDeleteForm($changement); $form->handleRequest($request); $em = $this->getDoctrine()->getManager(); $historiqueService=new HistoriqueService($em); if ($form->isSubmitted() && $form->isValid()) { $articleAChangee=$changement->getArticleAChangee(); $articleChangee=$changement->getArticleChangee(); if($articleAChangee){ $articleAChangee->setQte($articleAChangee->getQte()-$changement->getQteAChangee()); $historiqueService->HistoriqueChangement($articleAChangee,$changement->getId(),'Changement annulé',$changement->getQteAChangee()); } if($articleChangee){ $articleChangee->setQte($articleChangee->getQte()+$changement->getQteChangee()); $historiqueService->HistoriqueChangement($articleChangee,$changement->getId(),'Retour article changé',$changement->getQteChangee()); } $em->remove($changement); $this->addFlash('success', 'Changement supprimé avec succès.'); $em->flush(); } return $this->redirectToRoute('changement_index'); } /** * Creates a form to delete a changement entity. * * @param Changement $changement The changement entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Changement $changement) { return $this->createFormBuilder() ->setAction($this->generateUrl('changement_delete', array('id' => $changement->getId()))) ->setMethod('DELETE') ->getForm() ; } }