Aimeos\ShopBundle\Controller\ExtadmController::doAction PHP Method

doAction() public method

Single entry point for all JSON admin requests.
public doAction ( Request $request ) : Response
$request Symfony\Component\HttpFoundation\Request Symfony request object
return Symfony\Component\HttpFoundation\Response JSON RPC message response
    public function doAction(Request $request)
    {
        $csrfProvider = $this->get('security.csrf.token_manager');
        if ($csrfProvider->isTokenValid(new CsrfToken('aimeos_admin_token', $request->query->get('_token'))) !== true) {
            throw new \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException('CSRF token is invalid');
        }
        $cntlPaths = $this->get('aimeos')->get()->getCustomPaths('controller/extjs');
        $context = $this->get('aimeos_context')->get(false, 'backend');
        $context->setView($this->get('aimeos_view')->create($context, array()));
        $context->setLocale($this->get('aimeos_locale')->getBackend($context, 'default'));
        $controller = new \Aimeos\Controller\ExtJS\JsonRpc($context, $cntlPaths);
        $response = $controller->process($request->request->all(), $request->getContent());
        return $this->render('AimeosShopBundle:Extadm:do.html.twig', array('output' => $response));
    }