public function getFieldsubmissions() { if (!isset($this->fieldsubmissions)) { $fields = $this->form->getFields(); foreach ($this->data as $submissionvalue) { if (isset($fields[$submissionvalue['field_id']])) { $field = $fields[$submissionvalue['field_id']]; } else { //field might be deleted from form $field = Field::create(); $field->setType($submissionvalue['type']); } $this->fieldsubmissions[$field->slug] = (new Fieldsubmission($field, $submissionvalue))->toFormattedArray(); } } return $this->fieldsubmissions; }
/** * @Route("/edit") * @Request({"id"}) */ public function editAction($id = '') { $formmaker = App::module('formmaker'); if (is_numeric($id)) { $field = Field::find($id); } else { $field = Field::create(); $field->setType($id); } if (!$field) { App::abort(404, __('Field not found.')); } if (!($type = $formmaker->getType($field->type))) { App::abort(404, __('Type not found.')); } //check fixed value foreach (['multiple', 'required'] as $key) { if ($type[$key] != -1) { $field->set($key, $type[$key]); } } return ['field' => $field, 'type' => $type, 'roles' => array_values(Role::findAll())]; }