public function testRender() { $field = new Field(); $field->setTitle('title')->setValue('value')->setShort(false); $this->assertEquals(['title' => 'title', 'value' => 'value', 'short' => false], $field->render()); }
/** * Create a new field and save it to database * @param sfWebRequest $request * @return <type> */ public function executeSaveField(sfWebRequest $request) { $data = $request->getPostParameters(); $fieldClass = new FieldClass(); $data = $fieldClass->prepareSaveData($data); // prepare the data to save, set color and writeprotected flag // create parent element for the fields $fieldObj = new Field(); $fieldObj->setTitle($data['createFileWindow_fieldname']); $fieldObj->setType($data['createFileWindow_fieldtype']); $fieldObj->setwriteprotected($data['createFileWindow_writeprotected']); $fieldObj->setColor($data['createFileWindow_color']); $fieldObj->save(); $id = $fieldObj->getId(); // add the child elements to the field, with the selected field type switch ($data['createFileWindow_fieldtype']) { case 'TEXTFIELD': $textfield = new FieldTextfield(); $textfield->setFieldId($id); $textfield->setRegex($data['fieldTextfield_regularexpression']); $textfield->setDefaultvalue($data['fieldTextfield_standard']); $textfield->save(); break; case 'CHECKBOX': // do nothing break; case 'NUMBER': $numberfield = new FieldNumber(); $numberfield->setRegex($data['fieldNumber_regularexpression']); $numberfield->setDefaultvalue($data['fieldNumber_standard']); $numberfield->setComboboxvalue($data['fieldNumber_regularexpressioncombo']); $numberfield->setFieldId($id); $numberfield->save(); break; case 'DATE': $datefield = new FieldDate(); $datefield->setRegex($data['fieldDate_regularexpression']); $datefield->setDateformat($data['fieldDate_format']); $datefield->setDefaultvalue($data['fieldDate_date']); $datefield->setFieldId($id); $datefield->save(); break; case 'TEXTAREA': $data['fieldTextarea_content'] = $data['fieldTextarea_contenttype'] == 'plain' ? $data['fieldTextarea_textarea']: $data['fieldTextarea_htmlarea']; $textarea = new FieldTextarea(); $textarea->setContent($data['fieldTextarea_content']); $textarea->setContenttype($data['fieldTextarea_contenttype']); $textarea->setFieldId($id); $textarea->save(); break; case 'RADIOGROUP': $fieldClass->saveRadiogroup($id, $data); // save radiogroup break; case 'CHECKBOXGROUP': $fieldClass->saveCheckboxgroup($id, $data); // save checkboxgroup break; case 'COMBOBOX': $fieldClass->saveCombobox($id, $data); // save combobox break; case 'FILE': $file = new FieldFile(); $file->setRegex($data['fieldFile_regularexpression']); $file->setFieldId($id); $file->save(); break; } $this->renderText('{success:true}'); return sfView::NONE; }