/
var
/
www
/
html
/
restaurants
/
src
/
Controller
/
Upload File
HOME
<?php namespace App\Controller; use App\Controller\Controller; // use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\JsonResponse; use App\Document\Place as PlaceDocument; use App\Entity\Supplier; use App\Document\Item as ItemDocument; use Doctrine\ODM\MongoDB\DocumentManager; /** * Class to handle all API requests */ class ApiController extends Controller { /** * @Route("/ajax/{page}/{place}", name="ajax") * **/ public function ajax($page, $place) { return $this->render("ajax/$page.html.twig", ['place' => $place]); } /** * @Route("/api/category/{place_slug}", name="api_category") * * @return JsonResponse **/ public function category(DocumentManager $dm, $place_slug) { $data = $this->decode(); $place = $dm->getRepository(PlaceDocument::class)->findOneBy(['slug' => $place_slug]); $place->addCategory($data['name']); $dm->flush(); $this->addFlash( 'success', 'Category ' . $data['name'] . ' added' ); return $this->json(['status' => 'success']); } /** * @Route("/admin/food/category/{id}", name="change_category", methods={"PATCH"}) */ public function changeFoodCategory(DocumentManager $dm, string $id) { $data = $this->decode(); $item = $dm->getRepository(ItemDocument::class)->find($id); $item->setCategory($data['category'] ?? $item->getCategory()); $dm->flush(); return $this->json(['category' => $item->getCategory()]); } }