src/Flexy/ShopBundle/Controller/Vendor/DashboardController.php line 72

Open in your IDE?
  1. <?php
  2. namespace App\Flexy\ShopBundle\Controller\Vendor;
  3. use App\Flexy\ShopBundle\Entity\Order\Order;
  4. use App\Flexy\ShopBundle\Entity\CategoryProductShop;
  5. use App\Flexy\ShopBundle\Entity\Promotion\Coupon;
  6. use App\Flexy\ShopBundle\Entity\Customer\Customer;
  7. use App\Flexy\ShopBundle\Entity\Payment\PaymentMethod;
  8. use App\Flexy\ShopBundle\Entity\Product\Product;
  9. use App\Flexy\ShopBundle\Entity\Promotion\Promotion;
  10. use App\Flexy\ShopBundle\Entity\Shipping\ShippingMethod;
  11. use App\Flexy\ShopBundle\Entity\Vendor\Vendor;
  12. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  13. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  14. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  15. use Symfony\Component\HttpFoundation\Response;
  16. use Symfony\Component\Routing\Annotation\Route;
  17. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  18. use App\Flexy\ShopBundle\Controller\Vendor\ProductCrudController as VendorProductCrudController;
  19. use App\Flexy\ShopBundle\Entity\Brand;
  20. use App\Flexy\ShopBundle\Entity\Order\DemandeFund;
  21. use App\Flexy\ShopBundle\Entity\Product\Attribut;
  22. use App\Flexy\ShopBundle\Entity\Product\ImportExcel;
  23. use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
  24. use EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext;
  25. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  26. use Symfony\Component\HttpFoundation\RedirectResponse;
  27. use App\Flexy\ShopBundle\Repository\Order\OrderRepository;
  28. /**
  29.      * @Route("/vendor")
  30.      */
  31. class DashboardController extends AbstractDashboardController
  32. {
  33.     /**
  34.      * @Route("/", name="shop_vendor")
  35.      */
  36.     public function index(): Response
  37.     {
  38.       
  39.         //* @IsGranted("ROLE_VENDOR")
  40.         if($this->getUser() != null && $this->getUser()->getRoles()[0] == "ROLE_CUSTOMER"){
  41.    
  42.             return $this->redirect("/logout");
  43.         
  44.         }
  45.         else if($this->isGranted('ROLE_VENDOR')) { 
  46.         $em $this->getDoctrine()->getManager();
  47.         $vendor $em->getRepository(Vendor::class)->findOneBy(["user"=>$this->getUser()]); 
  48.         $vendor $em->getRepository(Order::class); 
  49.         return $this->render('@Flexy/FrontBundle/templates/dashborad-admin/welcomevendor.html.twig', [
  50.             'vendor' =>  $vendor,
  51.             'registrationCustomerForm' => "dede",
  52.         ]);
  53.     }
  54.     return $this->redirect("/login");
  55.     }
  56.     
  57.     public function configureDashboard(): Dashboard
  58.     {
  59.         $em $this->getDoctrine()->getManager();
  60.         $vendor $em->getRepository(Vendor::class)->findOneBy(["user"=>$this->getUser()]);
  61.         if($vendor){
  62.             $urlImage ="../uploads/".$vendor->getImage();
  63.         }else{
  64.             $urlImage ="../omall/logo.png";
  65.         }
  66.         
  67.         return Dashboard::new()
  68.         ->setTitle('
  69.         <img  style="margin:10px 0 0px 40px" src="/omall/logo.png" width="90px" />
  70.         <br>
  71.         <img  style="margin:0 0 0 30px" src="'.$urlImage.'" width="130px" />
  72.         
  73.         
  74.         
  75.         ')
  76.        // ->setFaviconPath('flexy/img/favicon-flexy-white.png')
  77.         ->setTranslationDomain('admin')
  78.         
  79.         
  80.         ;
  81.     }
  82.     public function configureMenuItems(): iterable
  83.     {
  84.         $em $this->getDoctrine()->getManager();
  85.         $vendor $em->getRepository(Vendor::class)->findOneBy(["user"=>$this->getUser()]);
  86.         
  87.         
  88.         yield MenuItem::linkToCrud("Mes Produits","fas fa-tags",Product::class)->setController(VendorProductCrudController::class);
  89.         yield MenuItem::linkToCrud("Mes Services","fas fa-tags",Product::class)->setController(OfferProductCrudController::class);
  90.         //yield MenuItem::linkToCrud("Mes Annonces","fas fa-tags",Product::class)->setController(AnnounceProductCrudController::class);
  91.         yield MenuItem::linkToCrud("Mes commandes","fas fa-list",Order::class)->setController(MyOrdersCrudController::class)->setDefaultSort(['id' => 'DESC']);
  92.         yield MenuItem::linkToCrud("Attributs","fas fa-tag",Attribut::class);
  93.         yield MenuItem::linkToCrud("Marques","fas fa-copyright",Brand::class);
  94.         yield MenuItem::linkToCrud("Promotions","fas fa-percent",Promotion::class);
  95.         yield MenuItem::linkToCrud("Coupon","fas fa-gifts",Coupon::class);
  96.         yield MenuItem::linkToCrud("Demande de fond (beta)","fas fa-money-bill-wave",DemandeFund::class)->setController(DemandeFundCrudController::class);
  97.         if($vendor){
  98.             yield MenuItem::linkToCrud("Editer mon profil","fas fa-edit",Vendor::class)->setController(VendorCrudController::class)->setAction('edit')->setEntityId($vendor->getId());
  99.         }
  100.         
  101.         yield MenuItem::section('Mes services');
  102.         
  103.         yield MenuItem::section('Importation');
  104.         yield MenuItem::linkToCrud("Importer produits","fas fa-file-excel",ImportExcel::class);
  105.         yield MenuItem::linkToRoute("Aide","fas fa-file-excel","flexy_shop_bundle_import_excel_documentation");
  106.         
  107.         yield MenuItem::section('Infos personnelles');
  108.        
  109.         yield MenuItem::section('Ma boutique');
  110.         
  111.  yield MenuItem::linkToRoute("Mon contrat","fas fa-file","flexy_shop_bundle_pages_contract");
  112.         //yield MenuItem::linkToCrud("Modes paiements","fas fa-list",PaymentMethod::class);
  113.         
  114.         yield MenuItem::linkToCrud("Etat financier","fas fa-money-bill-wave",Order::class)->setController(VendorStatementCrudController::class)->setDefaultSort(['id' => 'DESC']);
  115.         if($vendor){
  116.             yield MenuItem::linkToRoute('Ma boutique''fas fa-eye',"single_vendor", ['id' => $vendor->getId()]);
  117.         }
  118.         yield MenuItem::linkToRoute("Documents O'mall","fas fa-file","flexy_shop_bundle_pages_contract");
  119.          
  120.         
  121.     }
  122. }