/** * @return ModelAndView **/ public function postHandleRequest(ModelAndView $mav, HttpRequest $request) { $form = $this->getForm(); if ($mav->getView() == self::COMMAND_SUCCEEDED) { $mav->setView(new RedirectToView(get_class($this))); $mav->getModel()->drop('id'); } else { $mav->setView(get_class($this)); if ($command = $form->getValue('action')) { $mav->getModel()->set('action', $command); } else { $form->dropAllErrors(); } $mav->getModel()->set('form', $form); } return $mav; }
protected function handleMav(ModelAndView $mav) { $view = $mav->getView() ?: self::DEFAULT_TEMPLATE; $model = $mav->getModel(); if (!$view instanceof RedirectView) { $model->set('area', $this->controllerName); } if (is_string($view)) { if ($view == $this->controllerName) { $view = self::DEFAULT_TEMPLATE; } $viewResolver = $this->getViewResolver(); foreach ($this->getTemplatePathList() as $templatePath) { $viewResolver->addPrefix($templatePath); } $view = $viewResolver->resolveViewName($view); } $view->render($model); }