/** * 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'); }