src/Controller/ProductController.php line 38

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. use Symfony\Component\HttpFoundation\RedirectResponse;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  9. use \MongoDB\Client as MongoDBClient;
  10. use App\Entity\ImporterCSV;
  11. use App\Entity\Product;
  12. use App\Entity\ProdottiSearch\ProdottiSearchEngine;
  13. use App\Entity\ProdottiSearch\Criterion\SKUCriterion;
  14. use App\Entity\ProdottiSearch\Criterion\HSCodeCriterion;
  15. use App\Entity\Profis\ManebiProfisXML;
  16. use App\Entity\ManebiStats;
  17. use App\Entity\OrderProduct;
  18. use Dompdf\Dompdf;
  19. /**
  20.  * 
  21.  */
  22. class ProductController extends AdminController
  23. {
  24.     public $importKey 'Prodotti';
  25.     public $session NULL;
  26.     /**
  27.      * 
  28.      */
  29.     public function manage(Request $requestManebiStats $statsSessionInterface $session)
  30.     {
  31.         $this->init($session);
  32.         $filters = ['prodotti-sku' => []];
  33.         $filter_params = [];
  34.         $export false;
  35.         if($request->getMethod() == 'POST')
  36.         {
  37.             $filter_params['filter'] = $request->request->has('filter') ? $request->request->get('filter') : NULL;
  38.             $filter_params['filter-products']  = $request->request->has('filter-products') ? $request->request->get('filter-products') : NULL;
  39.             $filter_params['filter-type'] = $request->request->has('filter-type') ? $request->request->get('filter-type') : NULL;
  40.         }else{
  41.             $filter_params['filter'] = $request->query->has('filter') ? $request->query->get('filter') : NULL;
  42.             $filter_params['filter-products']  = $request->query->has('filter-products') ? $request->query->get('filter-products') : NULL;
  43.             $filter_params['filter-type'] = $request->query->has('filter-type') ? $request->query->get('filter-type') : NULL;
  44.         }
  45.         $prodottiSearchEngine = new ProdottiSearchEngine($this->getDoctrine()->getManager()->getConnection());
  46.         
  47.         if($filter_params['filter'])
  48.         {
  49.             if(!empty($filter_params['filter-products']))
  50.             {
  51.                 $SKUCriterion = new SKUCriterion('sku');            
  52.                 $_filtersSKU $filter_params['filter-products'];
  53.                 
  54.                 if(!empty($_filtersSKU))
  55.                 {
  56.                     foreach($_filtersSKU as $tag)
  57.                     {
  58.                         $filters['prodotti-sku'][] = $tag['tag'];
  59.                     }
  60.                 }
  61.                 $SKUCriterion->setSKUs($filters['prodotti-sku']);
  62.                 $prodottiSearchEngine->addCriterion($SKUCriterion);
  63.             }
  64.             if(!empty($filter_params['filter-type']))
  65.             {
  66.                 $HSCodeCriterion = new HSCodeCriterion('empty-hscode');
  67.                 $HSCodeCriterion->withoutHSCode();
  68.                 $prodottiSearchEngine->addCriterion($HSCodeCriterion);
  69.             }
  70.             if($prodottiSearchEngine->search())
  71.             {
  72.                 $results $prodottiSearchEngine->getResults();
  73.                 return new JsonResponse(['status' => 'OK''data' => $results]);
  74.             }
  75.         }
  76.         $params = [];
  77.         $params['shop'] = $this->getShop();
  78.         $params['id_shop'] = $this->session->get('id_shop');
  79.         return $this->render('prodotti.html.twig'$params);
  80.     }
  81.      /**
  82.      * 
  83.      */
  84.     public function updateHSCode(Request $requestManebiStats $statsSessionInterface $sessionProduct $product)
  85.     {
  86.         $this->init($session);
  87.         $params = [];
  88.         if($request->getMethod() == 'POST')
  89.         {
  90.             $params['sku'] = $request->request->has('sku') ? $request->request->get('sku') : NULL;
  91.             $params['hscode']  = $request->request->has('hscode') ? $request->request->get('hscode') : NULL;
  92.             $params['coo']  = $request->request->has('coo') ? $request->request->get('coo') : NULL;
  93.         }
  94.         $res $product->updateHSCode($params['sku'], $params['hscode'], $params['coo']);
  95.         if($res)
  96.         {
  97.         }
  98.         return new JsonResponse(['status' => 'OK''data' => $params]);
  99.     }
  100. }