Skip to content
This repository was archived by the owner on Jul 17, 2020. It is now read-only.

Commit a679d04

Browse files
authored
Merge pull request #48 from niels-nijens/form-options
Improved form options
2 parents cf1fd65 + 7b5da95 commit a679d04

3 files changed

Lines changed: 25 additions & 16 deletions

File tree

Form/Type/FlexModelFormType.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,13 @@ private function getFieldType(array $formFieldConfiguration, array $fieldConfigu
134134
break;
135135
case 'VARCHAR':
136136
$fieldType = TextType::class;
137-
if (isset($fieldConfiguration['options'])) {
138-
$fieldType = ChoiceType::class;
139-
}
140137
break;
141138
}
142139

140+
if (isset($formFieldConfiguration['options']) || isset($fieldConfiguration['options'])) {
141+
$fieldType = ChoiceType::class;
142+
}
143+
143144
return $fieldType;
144145
}
145146

@@ -170,7 +171,7 @@ protected function getFieldOptions(array $formFieldConfiguration, array $fieldCo
170171

171172
$this->addFieldPlaceholder($options, $formFieldConfiguration, $fieldConfiguration);
172173
$this->addFieldOptionsByDatatype($options, $fieldConfiguration);
173-
$this->addFieldChoiceOptions($options, $fieldConfiguration);
174+
$this->addFieldChoiceOptions($options, $formFieldConfiguration, $fieldConfiguration);
174175
$this->addFieldConstraintOptions($options, $formFieldConfiguration);
175176

176177
return $options;
@@ -198,6 +199,9 @@ public function addFieldPlaceholder(array &$options, array $formFieldConfigurati
198199

199200
/**
200201
* Adds field options based on the datatype of a field.
202+
*
203+
* @param array $options
204+
* @param array $fieldConfiguration
201205
*/
202206
private function addFieldOptionsByDatatype(array &$options, array $fieldConfiguration)
203207
{
@@ -212,10 +216,15 @@ private function addFieldOptionsByDatatype(array &$options, array $fieldConfigur
212216
* Adds the choices option to the field options.
213217
*
214218
* @param array $options
219+
* @param array $formFieldConfiguration
215220
* @param array $fieldConfiguration
216221
*/
217-
private function addFieldChoiceOptions(array &$options, array $fieldConfiguration)
222+
private function addFieldChoiceOptions(array &$options, array $formFieldConfiguration, array $fieldConfiguration)
218223
{
224+
if (isset($formFieldConfiguration['options'])) {
225+
$fieldConfiguration['options'] = $formFieldConfiguration['options'];
226+
}
227+
219228
if (isset($fieldConfiguration['options'])) {
220229
$options['choices'] = array();
221230
foreach ($fieldConfiguration['options'] as $option) {

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"ext-libxml": "*",
1515
"ext-xsl": "*",
1616
"doctrine/orm": "^2.5",
17-
"flexmodel/flexmodel": "^0.2.0",
17+
"flexmodel/flexmodel": "^1.0",
1818
"ocramius/proxy-manager": "^1.0",
1919
"symfony/console": "^2.8 | ^3.0",
2020
"symfony/form": "^2.8 | ^3.0",

composer.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)