%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/MaintenanceBundle/Controller/ |
Current File : /home/emtnaeewxm/www/src/EEM/MaintenanceBundle/Controller/PieceRechangeController.php |
<?php namespace EEM\MaintenanceBundle\Controller; use EEM\MaintenanceBundle\Entity\HistoriquePieceRechange; use EEM\MaintenanceBundle\Entity\PieceRechange; 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; use Symfony\Component\HttpFoundation\Response; /** * Piecerechange controller. * * @Route("/admin/piece-rechange") */ class PieceRechangeController extends Controller { /** * Lists all pieceRechange entities. * * @Route("/", name="piecerechange_index") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $paginator = $this->get('knp_paginator'); $pieceRechanges = $paginator->paginate( $em->getRepository('EEMMaintenanceBundle:PieceRechange')->MyFindAll($request->query->all()), /* query NOT result */ $request->query->getInt('page', 1)/* page number */, 10/* limit per page */ ); return $this->render('@EEMMaintenance/piecerechange/index.html.twig', array( 'pieceRechanges' => $pieceRechanges, )); } /** * Creates a new pieceRechange entity. * * @Route("/new", name="piecerechange_new") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function newAction(Request $request) { $pieceRechange = new Piecerechange(); $form = $this->createForm('EEM\MaintenanceBundle\Form\PieceRechangeType', $pieceRechange); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($pieceRechange); $em->flush(); $historique = new HistoriquePieceRechange(); $historique->setQte($pieceRechange->getQte()); $historique->setPrixAchat($pieceRechange->getPrixAchat()); $historique->setPrixVente($pieceRechange->getPrixVente()); $historique->setOldPrixAchat('0.000'); $historique->setOldPrixVente('0.000'); $historique->setDate(new \DateTime()); $historique->setPieceRechange($pieceRechange); $em->persist($historique); $em->flush(); $this->addFlash('success', 'Nouvelle pièce de rechange ajoutée avec succès.'); return $this->redirectToRoute('piecerechange_show', array('id' => $pieceRechange->getId())); } return $this->render('@EEMMaintenance/piecerechange/new.html.twig', array( 'pieceRechange' => $pieceRechange, 'form' => $form->createView(), )); } /** * Finds and displays a pieceRechange entity. * * @Route("/alimenter_piece_rechange", name="alimenter_piece_rechange") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function alimenterPieceRechangeAction(Request $request) { $piece_id = $request->request->get('piece_id'); $em = $this->getDoctrine()->getManager(); $piece_rechange = $em->getRepository('EEMMaintenanceBundle:PieceRechange')->find($piece_id); if (isset($request->request->all()['save']) && $request->request->all()['save'] == 1) { $prixAchat = $request->request->get('prixAchat'); $prixVente = $request->request->get('prixVente'); $quantite = $request->request->get('quantite'); $historique = new HistoriquePieceRechange(); $historique->setQte($quantite); $historique->setPrixAchat($prixAchat); $historique->setPrixVente($prixVente); $historique->setOldPrixAchat($piece_rechange->getPrixAchat()); $historique->setOldPrixVente($piece_rechange->getPrixVente()); $historique->setDate(new \DateTime()); $historique->setPieceRechange($piece_rechange); $em->persist($historique); $em->flush(); $piece_rechange->setPrixAchat($prixAchat); $piece_rechange->setPrixVente($prixVente); $piece_rechange->setQte($piece_rechange->getQte() + $quantite); $em->flush(); return new Response($piece_rechange->getQte()); } return $this->render('@EEMMaintenance/piecerechange/alimenter_stock.html.twig', array( 'piece_rechange' => $piece_rechange )); } /** * Finds and displays a pieceRechange entity. * * @Route("/url_recup_piece_ajax", name="url_recup_piece_ajax") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function recupPieceajaxAction(Request $request) { $em = $this->getDoctrine()->getManager(); $piece_recharge = $em->getRepository('EEMMaintenanceBundle:PieceRechange')->find($request->request->get('piece')); //echo $piece_recharge->getId(); $tab_json['id']=$piece_recharge->getId(); $tab_json['nom']=$piece_recharge->getArticle().' '.$piece_recharge->getModele().' '.$piece_recharge->getName().' '.$piece_recharge->getCouleur(); $tab_json['prix_achat']=$piece_recharge->getPrixAchat(); $tab_json['prix_vente']=$piece_recharge->getPrixVente(); return new Response(json_encode($tab_json)); } /** * Finds and displays a pieceRechange entity. * * @Route("/{id}", name="piecerechange_show") * @Method("GET") * @Security("has_role('ROLE_USER')") */ public function showAction(PieceRechange $pieceRechange) { $deleteForm = $this->createDeleteForm($pieceRechange); $em = $this->getDoctrine()->getManager(); $historique_piece_recharges = $em->getRepository('EEMMaintenanceBundle:HistoriquePieceRechange')->findBy(['pieceRechange' => $pieceRechange->getId()], ['date' => 'DESC']); $last_historique = $em->getRepository('EEMMaintenanceBundle:HistoriquePieceRechange')->findOneBy(['pieceRechange' => $pieceRechange->getId()], ['date' => 'DESC']); return $this->render('@EEMMaintenance/piecerechange/show.html.twig', array( 'pieceRechange' => $pieceRechange, 'last_historique' => $last_historique, 'historique_piece_recharges' => $historique_piece_recharges, 'delete_form' => $deleteForm->createView(), )); } /** * Displays a form to edit an existing pieceRechange entity. * * @Route("/{id}/edit", name="piecerechange_edit") * @Method({"GET", "POST"}) * @Security("has_role('ROLE_USER')") */ public function editAction(Request $request, PieceRechange $pieceRechange) { $deleteForm = $this->createDeleteForm($pieceRechange); $editForm = $this->createForm('EEM\MaintenanceBundle\Form\PieceRechangeType', $pieceRechange); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { $this->getDoctrine()->getManager()->flush(); $this->addFlash('success', 'Pièce de rechange modifiée avec succès.'); return $this->redirectToRoute('piecerechange_edit', array('id' => $pieceRechange->getId())); } return $this->render('@EEMMaintenance/piecerechange/edit.html.twig', array( 'pieceRechange' => $pieceRechange, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView(), )); } /** * Deletes a pieceRechange entity. * * @Route("/{id}", name="piecerechange_delete") * @Method("DELETE") * @Security("has_role('ROLE_USER')") */ public function deleteAction(Request $request, PieceRechange $pieceRechange) { $form = $this->createDeleteForm($pieceRechange); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->remove($pieceRechange); $em->flush(); $this->addFlash('success', 'Pièce de rechange supprimée avec succès.'); } return $this->redirectToRoute('piecerechange_index'); } /** * Deletes a pieceRechange entity. * * @Route("/{id}/delete_historique_piece", name="delete_historique_piece") * @Method("DELETE") * @Security("has_role('ROLE_USER')") */ public function deleteHistoriquePieceAction(Request $request, HistoriquePieceRechange $historiquePieceRechange) { $em = $this->getDoctrine()->getManager(); $piece_recharge=$historiquePieceRechange->getPieceRechange(); $piece_recharge->setPrixVente($historiquePieceRechange->getOldPrixVente()); $piece_recharge->setPrixAchat($historiquePieceRechange->getOldPrixAchat()); $piece_recharge->setQte($piece_recharge->getQte()-$historiquePieceRechange->getQte()); $em->remove($historiquePieceRechange); $em->flush(); $this->addFlash('success', 'Historique pièce de rechange supprimé avec succès.'); return $this->redirectToRoute('piecerechange_show',['id'=>$piece_recharge->getId()]); } /** * Creates a form to delete a pieceRechange entity. * * @param PieceRechange $pieceRechange The pieceRechange entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(PieceRechange $pieceRechange) { return $this->createFormBuilder() ->setAction($this->generateUrl('piecerechange_delete', array('id' => $pieceRechange->getId()))) ->setMethod('DELETE') ->getForm(); } }