<?php
namespace App\Controller\Admin\MatierePremiereAgricole;
use App\Entity\LetterOfIntentToPurchase;
use App\Form\LetterOfIntentToPurchaseType;
use App\Repository\AdminDonneurOrdreRepository;
use App\Repository\LetterOfIntentToPurchaseRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/bscm/admin/gestion/lettre_d_intension_d_achat",name="app_admin_gestion_lettre_intension_achat_")
*/
class LettreIntentionAchatController extends AbstractController
{
/**
* @Route("s", name="index", methods={"GET"})
*/
public function index(LetterOfIntentToPurchaseRepository $letterOfIntentToPurchaseRepository): Response
{
$lia_letters = $letterOfIntentToPurchaseRepository->findBy([], ['date_saisie' => 'DESC']);
$countLia = $letterOfIntentToPurchaseRepository->countLia();
return $this->render('admin/lettre_inten_achat/index.html.twig',
compact('lia_letters', 'countLia'));
}
/**
* @Route("/new", name="new", methods={"GET","POST"})
*/
public function new(Request $request, AdminDonneurOrdreRepository $donneurOrdreRepository): Response
{
// Récupérer les catégories qui ont l'option "Vendeur" depuis la base de données
$vendeurs = $donneurOrdreRepository->findDonneurOrdreWithPosition('Vendeur');
$letterOfIntentToPurchase = new LetterOfIntentToPurchase();
$form = $this->createForm(LetterOfIntentToPurchaseType::class,
$letterOfIntentToPurchase,
['vendeurs' => $vendeurs]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($letterOfIntentToPurchase);
$entityManager->flush();
$this->addFlash('success', 'Enregistrement fait avec succès.');
return $this->redirectToRoute('app_admin_gestion_lettre_intension_achat_new');
} else {
$this->addFlash('errors',
'Opération non éffectuée, veuillez reprendre.');
}
return $this->render('admin/lettre_inten_achat/new.html.twig', [
'letter_of_intent_to_purchase' => $letterOfIntentToPurchase,
'form' => $form->createView(),
]);
}
/**
* @Route("/{id}/show", name="show", methods={"GET"})
*/
public function show(LetterOfIntentToPurchase $letterOfIntentToPurchase): Response
{
return $this->render('admin/lettre_inten_achat/show.html.twig', [
'letter_of_intent_to_purchase' => $letterOfIntentToPurchase,
]);
}
/**
* @Route("/{id}/edit", name="edit", methods={"GET","POST"})
*/
public function edit(Request $request, LetterOfIntentToPurchase $letterOfIntentToPurchase,AdminDonneurOrdreRepository $donneurOrdreRepository): Response
{
//$vendeurs = $letterOfIntentToPurchase->getRecipient();
$vendeurs = $donneurOrdreRepository->findDonneurOrdreWithPosition('Vendeur');
$vendeur= $letterOfIntentToPurchase->getRecipient();
$form = $this->createForm(LetterOfIntentToPurchaseType::class,$letterOfIntentToPurchase,
['vendeurs' => $vendeurs,
'vendeur' => $vendeur]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('app_admin_gestion_lettre_intension_achat_index');
}
return $this->render('admin/lettre_inten_achat/edit.html.twig', [
'letter_of_intent_to_purchase' => $letterOfIntentToPurchase,
'form' => $form->createView(),
]);
}
/**
* @Route("/{id}/delete", name="delete", methods={"DELETE"})
*/
public function delete(Request $request, LetterOfIntentToPurchase $letterOfIntentToPurchase): Response
{
if ($this->isCsrfTokenValid('delete' . $letterOfIntentToPurchase->getId(), $request->request->get('_token'))) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->remove($letterOfIntentToPurchase);
$entityManager->flush();
}
return $this->redirectToRoute('app_admin_gestion_lettre_intension_achat_index');
}
/**
* @Route("/traitement", name="a_valider", methods={"GET"})
*/
public function aValider(LetterOfIntentToPurchaseRepository $letterOfIntentToPurchaseRepository): Response
{
$lia_letters = $letterOfIntentToPurchaseRepository->findAll();
$countLia = count($lia_letters);
return $this->render('admin/lettre_inten_achat/index.html.twig',
compact('lia_letters', 'countLia'));
}
/**
* @Route("/en-signature", name="en_signature", methods={"GET"})
*/
public function enSignature(LetterOfIntentToPurchaseRepository $letterOfIntentToPurchaseRepository): Response
{
$lia_letters = $letterOfIntentToPurchaseRepository->getByDifferentStatus();
$countLia = count($lia_letters);
return $this->render('admin/lettre_inten_achat/index.html.twig',
compact('lia_letters', 'countLia'));
}
}