/** * generates headers * * @param \Zend\Code\Generator\ClassGenerator $class * @param DataSetDescriptorInterface $dataSet */ protected function generateHeaderProperty(ClassGenerator $class, DataSetDescriptorInterface $dataSet) { $property = new \Zend\Code\Generator\PropertyGenerator("headers"); $property->setFlags(\Zend\Code\Generator\PropertyGenerator::FLAG_PROTECTED); $value = array(); foreach ($dataSet->listGenerator() as $field) { $value[$field->getName()] = array('title' => ucfirst(preg_replace("/[^a-z0-9]/i", " ", $field->getName())), 'width' => '100', 'filters' => $this->getFieldType($field) == 'bool' ? array(null => 'All', 1 => 'True', 0 => 'False') : "text"); } $value['edit'] = array('title' => 'Edit', 'width' => '100'); $value['delete'] = array('title' => 'Delete', 'width' => '100'); $property->setDefaultValue($value); $class->addPropertyFromGenerator($property); }
/** * setups primary key for tabel acording to dataset fields descriptor * * @param ClassGenerator $class * @param DataSetDescriptorInterface $dataSet */ protected function setupPrimaryKey(ClassGenerator $class, DataSetDescriptorInterface $dataSet) { foreach ($dataSet->listFields() as $name) { $field = $dataSet->getFieldDescriptor($name); if ($field instanceof AbstractFieldDescriptor && strpos($field->info(AbstractFieldDescriptor::KEY), 'PRI') !== false) { $keyNameProperty = new \Zend\Code\Generator\PropertyGenerator(); $keyNameProperty->addFlag(\Zend\Code\Generator\PropertyGenerator::FLAG_PROTECTED)->setName('keyName'); $keyNameProperty->setDefaultValue($name); $class->addPropertyFromGenerator($keyNameProperty); break; } } }