- <?php
- namespace Plugin\Seminar42\Controller;
- use Eccube\Controller\AbstractController;
- use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
- use Symfony\Component\HttpFoundation\RedirectResponse;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\Response;
- use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
- use Symfony\Component\Routing\Annotation\Route;
- use Eccube\Form\Type\AddCartType;
- use Eccube\Entity\Product;
- use Eccube\Repository\ProductRepository;
- use Eccube\Entity\Master\ProductStatus;
- /**
-  * Class CampaignController.
-  */
- class SeminarController extends AbstractController
- {
-     /**
-      * 商品ID
-      */
-     private $product_id = 688;
-     /**
-      * @var ProductRepository
-      */
-     protected $productRepository;
-     public function __construct(
-         ProductRepository $productRepository
-     ) {
-         $this->productRepository = $productRepository;
-     }
-     /**
-      * @Route("/seminar/2025", name="seminar_detail_2025")
-      * @Template("Seminar/2025.twig")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2025(Request $request)
-     {
-         $Product = $this->productRepository->find($this->product_id);
-         //
-         if (!$this->checkVisibility($Product)) {
-             throw new NotFoundHttpException();
-         }
-         //
-         $builder = $this->formFactory->createNamedBuilder(
-             '',
-             AddCartType::class,
-             null,
-             [
-                 'product' => $Product,
-                 'id_add_product_id' => false,
-             ]
-         );
-         //
-         return [
-             'form' => $builder->getForm()->createView(),
-             'Product' => $Product,
-         ];
-     }
-     /**
-      * @Route("/seminar/2024", name="seminar_detail_2024")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2024(Request $request)
-     {
-         return $this->render('Seminar/2024.twig', []);
-     }
-     /**
-      * @Route("/seminar/2023", name="seminar_detail_2023")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2023(Request $request)
-     {
-         return $this->render('Seminar/2023.twig', []);
-     }
-     /**
-      * @Route("/seminar/2022", name="seminar_detail_2022")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2022(Request $request)
-     {
-         return $this->render('Seminar/2022.twig', []);
-     }
-     /**
-      * @Route("/seminar/2021", name="seminar_detail_2021")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2021(Request $request)
-     {
-         return $this->render('Seminar/2021.twig', []);
-     }
-     /**
-      * @Route("/seminar/2020", name="seminar_detail_2020")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2020(Request $request)
-     {
-         return $this->render('Seminar/2020.twig', []);
-     }
-     /**
-      * @Route("/seminar/2019", name="seminar_detail_2019")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2019(Request $request)
-     {
-         return $this->render('Seminar/2019.twig', []);
-     }
-     /**
-      * @Route("/seminar/2018", name="seminar_detail_2018")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2018(Request $request)
-     {
-         return $this->render('Seminar/2018.twig', []);
-     }
-     /**
-      * @Route("/seminar/2017", name="seminar_detail_2017")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2017(Request $request)
-     {
-         return $this->render('Seminar/2017.twig', []);
-     }
-     /**
-      * @Route("/seminar/2016", name="seminar_detail_2016")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function detail2016(Request $request)
-     {
-         return $this->render('Seminar/2016.twig', []);
-     }
-     /**
-      * @Route("/seminar", name="seminar_list")
-      *
-      * @param Request $request
-      * @param Product $Product
-      *
-      * @return RedirectResponse|Response
-      */
-     public function index(Request $request)
-     {
-         return $this->render('Seminar/list.twig', []);
-     }
-     /**
-      * 閲覧可能な商品かどうかを判定
-      *
-      * @param Product $Product
-      *
-      * @return boolean 閲覧可能な場合はtrue
-      */
-     protected function checkVisibility(Product $Product)
-     {
-         $is_admin = $this->session->has('_security_admin');
-         // 管理ユーザの場合はステータスやオプションにかかわらず閲覧可能.
-         if (!$is_admin) {
-             // 在庫なし商品の非表示オプションが有効な場合.
-             // if ($this->BaseInfo->isOptionNostockHidden()) {
-             //     if (!$Product->getStockFind()) {
-             //         return false;
-             //     }
-             // }
-             // 公開ステータスでない商品は表示しない.
-             if ($Product->getStatus()->getId() !== ProductStatus::DISPLAY_SHOW) {
-                 return false;
-             }
-         }
-         return true;
-     }
-     /**
-      * お知らせ一覧画面.
-      *
-      * @Route("/seminar", name="seminar_list")
-      * @Template("Seminar/list.twig")
-      */
-     public function list(Request $request)
-     {
-     }
- }
-