Пример #1
0
 /**
  * @return ModelAndView
  **/
 public function handleRequest(HttpRequest $request)
 {
     Assert::isNotEmptyArray($this->innerControllers, 'Add atleast one innerController first');
     $activeController = $this->getActiveController($request);
     $model = $this->mav->getModel();
     if ($activeController) {
         $controllerName = $activeController->getName();
         $activeMav = $activeController->handleRequest($request);
         $model->set(TextUtils::downFirst($controllerName), $activeMav->getModel());
         unset($this->innerControllers[$controllerName]);
     }
     foreach ($this->innerControllers as $controller) {
         $passedRequest = clone $request;
         $passedRequest->{'set' . $controller->getRequestGetter() . 'Var'}('action', null);
         $subMav = $controller->handleRequest($passedRequest);
         $model->set(TextUtils::downFirst($controller->getName()), $subMav->getModel());
     }
     return isset($activeMav) && $activeMav->viewIsRedirect() ? $activeMav : $this->mav;
 }