/**
  * Get columns for admin generator instance
  *
  * @param string $paramName 
  * @param string $category 
  * @return array $columns
  */
 public function getColumns($paramName, $category = 'NONE')
 {
     $columns = parent::getColumns($paramName, $category);
     // set the foreign key indicator
     $relations = $this->getTable()->getRelations();
     $relationKeys = array();
     foreach ($relations as $key => $relation) {
         $relationKeys[$relation->getLocalFieldName()] = $key;
     }
     $cols = $this->getTable()->getColumns();
     foreach ($columns as $index => $column) {
         if (isset($relations[$column->getName()])) {
             $relationKey = $column->getName();
         } elseif (array_key_exists($column->getName(), $relationKeys)) {
             $relationKey = $relationKeys[$column->getName()];
         } else {
             $relationKey = false;
         }
         if ($relationKey) {
             $fkcolumn = $relations[$relationKey];
             $columnName = $relations[$relationKey]->getLocal();
             if ($columnName != 'id') {
                 $column->setRelatedClassName($fkcolumn->getTable()->getComponentName());
                 $column->setColumnName($columnName);
                 // if it is not a many2many
                 if (isset($cols[$columnName])) {
                     $column->setColumnInfo($cols[$columnName]);
                 }
                 $columns[$index] = $column;
             }
         }
     }
     return $columns;
 }
 public function getColumnEditTag($column, $params = array())
 {
     if ($column->getDoctrineType() == 'enum') {
         // FIXME: this is called already in the sfAdminGenerator class!!!
         $params = array_merge(array('control_name' => $this->getSingularName() . '[' . $column->getName() . ']'), $params);
         $values = $this->getTable()->getEnumValues($column->getName());
         $params = array_merge(array('enumValues' => $values), $params);
         return $this->getPHPObjectHelper('enum_tag', $column, $params);
     }
     return parent::getColumnEditTag($column, $params);
 }
 /**
  * Get php code for column edit tag
  *
  * @param string $column 
  * @param string $params 
  * @return string $columnEditTag
  */
 public function getColumnEditTag($column, $params = array())
 {
     if ($column->getDoctrineType() == 'enum') {
         $params = array_merge(array('control_name' => $this->getSingularName() . '[' . $column->getName() . ']'), $params);
         $values = $this->getTable()->getEnumValues($column->getName());
         $params = array_merge(array('enumValues' => $values), $params);
         return $this->getPHPObjectHelper('enum_tag', $column, $params);
     }
     return parent::getColumnEditTag($column, $params);
 }
 /**
  * Initializes the current sfGenerator instance.
  *
  * @param sfGeneratorManager A sfGeneratorManager instance
  */
 public function initialize($generatorManager)
 {
     parent::initialize($generatorManager);
     $this->setGeneratorClass('sfPropelCrud');
 }
 /**
  * Sets the class name to use for scaffolding
  *
  * @param string $className class name
  */
 protected function setScaffoldingClassName($className)
 {
     parent::setScaffoldingClassName($className);
     $this->peerClassName = constant($className . '::PEER');
 }