public function renderControl() { $control = null; switch ($this->getFieldType()) { case self::TYPE_INT: $control = new AphrontFormTextControl(); break; case self::TYPE_STRING: $control = new AphrontFormTextControl(); break; case self::TYPE_SELECT: $control = new AphrontFormSelectControl(); $control->setOptions($this->getSelectOptions()); break; default: throw new ManiphestAuxiliaryFieldTypeException($this->getFieldType() . ' is not a valid type for ' . $this->getLabel()); break; } $control->setValue($this->getValue()); $control->setLabel($this->getLabel()); $control->setCaption($this->getCaption()); $control->setName('auxiliary[' . $this->getAuxiliaryKey() . ']'); $control->setError($this->getError()); return $control; }