<?php
/*(c) Noel Kenfack <noel.kenfack@yahoo.fr 07/2016>
*/
namespace App\Controller\Produit\Produit;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\Produit\Produit\Marqueproduit;
use App\Entity\Produit\Produit\Produit;
use App\Form\Produit\Produit\MarqueproduitType;
use App\Service\Servicetext\GeneralServicetext;
use Symfony\Component\HttpFoundation\Request;
class MarqueproduitController extends AbstractController
{
public function ajoutermarque($page, GeneralServicetext $service, Request $request)
{
$em = $this->getDoctrine()->getManager();
$marque = new Marqueproduit($service);
$form = $this->createForm(MarqueproduitType::class, $marque);
$formsupp = $this->createFormBuilder()->getForm();
if ($request->getMethod() == 'POST'){
$form->handleRequest($request);
if ($form->isValid()){
$em->persist($marque);
$em->flush();
$this->get('session')->getFlashBag()->add('information','Enregistrement effectué avec succès');
}else{
$this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
}
}
$liste_marque = $em->getRepository(Marqueproduit::class)
->findMarque($page,15);
return $this->render($service->getThemeDirectory().'/Users/Adminuser/Marque/ajoutermarque.html.twig',
array('form'=>$form->createView(),'formsupp'=>$formsupp->createView(),'liste_marque'=>$liste_marque,'page'=>$page,
'nombrepage'=>ceil(count($liste_marque)/15)));
}
public function modifiermarque($id, GeneralServicetext $service, Request $request)
{
$em = $this->getDoctrine()->getManager();
if(isset($_GET['id']))
{
$id = $_GET['id'];
}else{
$id = $id;
}
$categorie = $em->getRepository(Marqueproduit::class)
->find($id);
if($categorie != null)
{
$form = $this->createForm(MarqueproduitType::class, $categorie);
if($request->getMethod() == 'POST'){
$form->handleRequest($request);
$categorie->setServicetext($service);
if ($form->isValid()){
$em->flush();
$this->get('session')->getFlashBag()->add('information','Modification effectuée avec succès');
}else{
$this->get('session')->getFlashBag()->add('information','Une ereur a été rencontrée!');
}
return $this->redirect($this->generateUrl('users_adminuser_marques_produit_eplace'));
}
return $this->render($service->getThemeDirectory().'/Users/Adminuser/Marque/modifiermarque.html.twig',
array('form'=>$form->createView(),'categorie'=>$categorie));
}else{
echo 'Echec ! Une erreur a été rencontrée.';
exit;
}
}
public function supprimermarque(Marqueproduit $type, GeneralServicetext $service, Request $request)
{
$em = $this->getDoctrine()->getManager();
$formsupp = $this->createFormBuilder()->getForm();
if($request->getMethod() == 'POST'){
$formsupp->handleRequest($request);
if ($formsupp->isValid()){
//ici on vérifira si les projets sont liés à ce type.
if(count($type->getProduits()) > 0)
{
$this->get('session')->getFlashBag()->add('information','Action réfuséé !</br> Vous devez d\'abord supprimer les projets liés à cette langue');
return $this->redirect($this->generateUrl('users_adminuser_marques_produit_eplace'));
}
$em->remove($type);
$em->flush();
$this->get('session')->getFlashBag()->add('information','Suppression effectuée avec succès');
return $this->redirect($this->generateUrl('users_adminuser_marques_produit_eplace'));
}
}
$this->get('session')->getFlashBag()->add('supprime_type',$type->getId());
$this->get('session')->getFlashBag()->add('supprime_type',$type->getNom());
return $this->redirect($this->generateUrl('users_adminuser_marques_produit_eplace'));
}
public function marquesproduit($page, GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
$liste_marque = $em->getRepository(Marqueproduit::class)
->findMarque($page, 15);
return $this->render($service->getThemeDirectory().'/Produit/Produit/Marque/marquesproduit.html.twig',
array('liste_marque'=>$liste_marque,'page'=>$page,'nombrepage' => ceil(count($liste_marque)/15)));
}
public function menumarque($taille, $position='produit', GeneralServicetext $service)
{
$em = $this->getDoctrine()->getManager();
$liste_marque = $em->getRepository(Marqueproduit::class)
->findMarque(1, $taille);
$top_produit = $em->getRepository(Produit::class)
->findBestProduit(10);
return $this->render($service->getThemeDirectory().'/Produit/Produit/Marque/menumarque.html.twig',
array('liste_marque'=>$liste_marque, 'top_produit'=>$top_produit, 'position'=>$position));
}
public function scriptdescriptproduit(Produit $produit)
{
$em = $this->getDoctrine()->getManager();
if(isset($_POST['description']))
{
$produit->setContenu($_POST['description']);
$em->flush();
echo 1;
exit;
}else{
echo 0;
exit;
}
}
}