/** * Initialize form handler. * * This method takes care of all necessary initialisation of our data and form states. * * @param Zikula_Form_View $view The form view instance. * * @return boolean False in case of initialization errors, otherwise true. */ public function initialize(Zikula_Form_View $view) { parent::initialize($view); if ($this->mode == 'create') { $modelHelper = new Reviews_Util_Model($this->view->getServiceManager()); if (!$modelHelper->canBeCreated($this->objectType)) { LogUtil::registerError($this->__('Sorry, but you can not create the review yet as other items are required which must be created before!')); return $this->view->redirect($this->getRedirectUrl(null)); } } $entity = $this->entityRef; // save entity reference for later reuse $this->entityRef = $entity; $entityData = $entity->toArray(); if (count($this->listFields) > 0) { $helper = new Reviews_Util_ListEntries($this->view->getServiceManager()); foreach ($this->listFields as $listField => $isMultiple) { $entityData[$listField . 'Items'] = $helper->getEntries($this->objectType, $listField); if ($isMultiple) { $entityData[$listField] = $helper->extractMultiList($entityData[$listField]); } } } // assign data to template as array (makes translatable support easier) $this->view->assign($this->objectTypeLower, $entityData); if ($this->mode == 'edit') { // assign formatted title $this->view->assign('formattedEntityTitle', $entity->getTitleFromDisplayPattern()); } // everything okay, no initialization errors occured return true; }