Пример #1
0
	/**
	 * @return Atomik_Form_Field_Interface
	 */
	public function getDefaultFormField()
	{
		$length = $this->getOption('length', false);
		
		if ($length === false || $length > 255) {
			return Atomik_Form_Field_Factory::factory('Textarea', $this->name, $this->getOptions('form-'));
		}
		return Atomik_Form_Field_Factory::factory('Input', $this->name, $this->getOptions('form-'));
	}
Пример #2
0
	/**
	 * @return Atomik_Form_Field_Interface
	 */
	public function getDefaultFormField()
	{
		$options = $this->getOptions('form-');
		$options['values'] = http_build_query($this->_getDataMap());
		return Atomik_Form_Field_Factory::factory('List', $this->name, $options);
	}
Пример #3
0
	/**
	 * Returns the default form field
	 * 
	 * @return Atomik_Form_Field_Interface
	 */
	public function getDefaultFormField()
	{
		return Atomik_Form_Field_Factory::factory('Input', $this->name, $this->getOptions('form-'));
	}
Пример #4
0
	/**
	 * Sets the model builder associated to this form
	 * 
	 * @param Atomik_Model_Builder $builder
	 */
	public function setBuilder(Atomik_Model_Builder $builder)
	{
		$this->_builder = $builder;
		$this->_fields = array();
		
		$options = new Atomik_Options($builder->getOptions($this->_optionPrefix));
		$this->setFormTemplate($options->getOption('template', Atomik_Form::getDefaultFormTemplate()));
		$this->setFieldTemplate($options->getOption('field-template', Atomik_Form::getDefaultFieldTemplate()));
		$this->setOptions($options->getOptions());
		
		foreach ($builder->getFields() as $modelField) {
			if ($modelField->getOption('ignore', false, $this->_optionPrefix)) {
				continue;
			}
			
			$formField = null;
			$defaultLabel = $modelField->name;
			
			if ($builder->isFieldPartOfReference($modelField) && !$modelField->getOption('no-reference', false, $this->_optionPrefix)) {
				$reference = $builder->getReferenceFromSourceField($modelField);
				if ($reference->isHasMany()) {
					continue;
				}
				
				$defaultLabel = $reference->name;
				$options = $modelField->getOptions($this->_optionPrefix);
				$options['reference'] = $reference;
				
				require_once 'Atomik/Model/Form/Field/Reference.php';
				$formField = Atomik_Form_Field_Factory::factory('Atomik_Model_Form_Field_Reference', 
					$modelField->name, $options);
					
			} else {
				$formField = $modelField->getFormField();
			}
			
			$this->_fields[$modelField->name] = $formField;
			$this->_labels[$modelField->name] = $modelField->getLabel();
			$formField->setParent($this);
		}
	}