<?php
namespace Customize\Controller;
use Eccube\Controller\TopController as BaseTopController;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Routing\Annotation\Route;
use Eccube\Entity\Customer;
use Eccube\Repository\OrderRepository;
class TopController extends BaseTopController
{
/**
* @var OrderRepository
*/
protected $orderRepository;
/**
* TopController constructor.
*
* @param OrderRepository $orderRepository
*/
public function __construct(
OrderRepository $orderRepository
) {
$this->orderRepository = $orderRepository;
}
/**
* @Route("/", name="homepage", methods={"GET"})
* @Template("index.twig")
*/
public function index()
{
$Customer = $this->getUser();
// 購入処理中/決済処理中ステータスの受注を非表示にする.
$this->entityManager
->getFilters()
->enable('incomplete_order_status_hidden');
$qb = $this->orderRepository->getQueryBuilderByCustomer($Customer);
$orders = $qb->getQuery()->getResult();
$miuketori_exists = false;
foreach ($orders as $order) {
foreach ($order->getMergedProductOrderItems() as $orderItem) {
if (!$orderItem->isProduct()) {
//商品以外
continue;
}
if ($orderItem->getProductClass()->getSaleType()->getId() != 1) {
//教材以外はContinue
continue;
}
if ($orderItem->getHattyuuDate() != null && $orderItem->getNouhinDate() != null && $orderItem->getUketoriDate() == null) {
$miuketori_exists = true;
break 2;
}
}
}
return [
'miuketori_exists' => $miuketori_exists,
];
}
}