@@ -58,16 +58,19 @@ public function buildForm(FormBuilderInterface $builder, array $options)
5858 if (is_array ($ formConfiguration )) {
5959 foreach ($ formConfiguration ['fields ' ] as $ formFieldConfiguration ) {
6060 $ fieldConfiguration = $ this ->flexModel ->getField ($ objectName , $ formFieldConfiguration ['name ' ]);
61+ if (is_array ($ fieldConfiguration ) === false ) {
62+ $ fieldConfiguration = array ();
63+ }
6164
6265 $ fieldType = $ this ->getFieldType ($ formFieldConfiguration , $ fieldConfiguration );
6366 $ fieldOptions = $ this ->getFieldOptions ($ formFieldConfiguration , $ fieldConfiguration );
64- $ fieldName = $ fieldConfiguration ['name ' ];
67+ $ fieldName = $ formFieldConfiguration ['name ' ];
6568 if ($ fieldType === FileType::class) {
6669 $ fieldName .= '_upload ' ;
6770 }
6871
6972 $ builder ->add ($ fieldName , $ fieldType , $ fieldOptions );
70- if ($ fieldConfiguration ['datatype ' ] === 'HTML ' ) {
73+ if (isset ( $ fieldConfiguration [ ' datatype ' ]) && $ fieldConfiguration ['datatype ' ] === 'HTML ' ) {
7174 $ builder ->get ($ fieldName )->addModelTransformer (new HTMLPurifierTransformer ());
7275 }
7376 }
@@ -156,13 +159,22 @@ private function getFieldType(array $formFieldConfiguration, array $fieldConfigu
156159 protected function getFieldOptions (array $ formFieldConfiguration , array $ fieldConfiguration )
157160 {
158161 $ options = array (
159- 'label ' => $ fieldConfiguration [ ' label ' ] ,
162+ 'label ' => '' ,
160163 'required ' => false ,
161164 'constraints ' => array (),
162165 );
166+ if (empty ($ fieldConfiguration )) {
167+ $ options ['mapped ' ] = false ;
168+ }
169+ if (isset ($ fieldConfiguration ['label ' ])) {
170+ $ options ['label ' ] = $ fieldConfiguration ['label ' ];
171+ }
163172 if (isset ($ fieldConfiguration ['required ' ])) {
164173 $ options ['required ' ] = $ fieldConfiguration ['required ' ];
165174 }
175+ if (isset ($ formFieldConfiguration ['label ' ])) {
176+ $ options ['label ' ] = $ formFieldConfiguration ['label ' ];
177+ }
166178 if (isset ($ formFieldConfiguration ['widget ' ])) {
167179 $ options ['widget ' ] = $ formFieldConfiguration ['widget ' ];
168180 }
@@ -206,6 +218,10 @@ public function addFieldPlaceholder(array &$options, array $formFieldConfigurati
206218 */
207219 private function addFieldOptionsByDatatype (array &$ options , array $ fieldConfiguration )
208220 {
221+ if (isset ($ fieldConfiguration ['datatype ' ]) === false ) {
222+ return ;
223+ }
224+
209225 switch ($ fieldConfiguration ['datatype ' ]) {
210226 case 'SET ' :
211227 $ options ['multiple ' ] = true ;
0 commit comments