/**
  * Returns Doctrine Record object prepared for form given the relation
  * @param string $relationName
  * @param Doctrine_Relation $relation
  * @return Doctrine_Record
  */
 private function embeddedFormObjectFactory($relationName, Doctrine_Relation $relation)
 {
     if (!$relation->isOneToOne()) {
         $newFormObjectClass = $relation->getClass();
         $newFormObject = new $newFormObjectClass();
         $newFormObject[$this->getRelationAliasByObject($newFormObject)] = $this->getObject();
     } else {
         $newFormObject = $this->getObject()->{$relationName};
     }
     return $newFormObject;
 }
Exemple #2
0
 protected function renderRelatedRecord(Doctrine_Record $record, Doctrine_Relation $relation)
 {
     $value = $record->get($relation->getLocal());
     $cacheKey = md5(implode('|', array($this->versionModel, $relation->getClass(), $value)));
     if (isset($this->relatedRecordCache[$cacheKey])) {
         return $this->relatedRecordCache[$cacheKey];
     }
     try {
         if ('DmMedia' === $relation->getClass()) {
             $relatedRecord = $relation->getTable()->findOneByIdWithFolder($value);
             if ($relatedRecord && $relatedRecord->isImage()) {
                 $return = $this->helper->media($relatedRecord)->size($this->getOption('media_width'), $this->getOption('media_height'))->render();
             } else {
                 $return = $relatedRecord;
             }
         } else {
             $return = $relation->getTable()->findOneById($value);
         }
     } catch (Exception $e) {
         $return = get_class($relation->getClass()) . ' #' . $value;
     }
     return $this->relatedRecordCache[$cacheKey] = $return;
 }