<?php
namespace AppBundle\Controller;
use AppBundle\Entity\Areatable;
use AppBundle\Entity\Storetable;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
date_default_timezone_set("Asia/Tokyo");
class AreaController extends Controller
{
/**
* @Route("/area", name="area")
*/
public function areaAction(Request $request)
{
if(isset($_SERVER['HTTP_REFERER']) &&
!empty($_SESSION["_sf2_attributes"]['AreaId']) &&
!empty($_SESSION["_sf2_attributes"]['StoreId']) &&
!empty($_SESSION["_sf2_attributes"]['StoreName']))
{
unset($_SESSION["_sf2_attributes"]['AreaId']);
unset($_SESSION["_sf2_attributes"]['StoreId']);
unset($_SESSION["_sf2_attributes"]['StoreName']);
}
if( !empty($_SESSION["_sf2_attributes"]['AreaId']) ||
!empty($_SESSION["_sf2_attributes"]['StoreId']) ||
!empty($_SESSION["_sf2_attributes"]['StoreName']))
{
return $this->redirectToRoute('item');
}
$repoArea = $this->getDoctrine()->getRepository('AppBundle:Areatable');
$areaList = $repoArea->getAreaList();
$repoStore = $this->getDoctrine()->getRepository('AppBundle:Storetable');
$storeList = $repoStore->getStoreList();
$form = $this->createFormBuilder()->getForm();
$form->handleRequest($request);
$session = $request->getSession();
if ($form->isSubmitted() && $form->isValid()) {
$storeName = $repoStore->findOneBy(['id'=>$request->get("StoreName"),'deleted'=>false]);
$session->set('AreaId', $request->get("AreaName"));
$session->set('StoreId', $request->get("StoreName"));
$session->set('StoreName', $storeName->getStorename());
return $this->redirectToRoute('item');
}
return $this->render('top/area.html.twig', [
'form' => $form->createView(),
'areaList' => $areaList,
'storeList' => $storeList
]);
}
/**
* @Route("/area/changeAjax", name="area_change_ajax")
*/
public function areaChangeAjaxAction(Request $request)
{
$selectareaId = $request->get('areaId');
$repoStore = $this->getDoctrine()->getRepository('AppBundle:Storetable');
$storeList = $repoStore->getStoreList($selectareaId);
return $this->render('top/area_ajax.html.twig', [
'storeList' => $storeList
]);
}
}