Ejemplo n.º 1
0
 /**
  * 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;
 }