$names = array(); switch (strtolower($_POST['do'])) { case 'update': foreach ($fields as $f) { if (in_array($f, $required) && !$_POST[$f]) { $errors[$f] = sprintf(__('%s is required'), mb_convert_case($f, MB_CASE_TITLE)); } elseif (isset($_POST[$f])) { $form->set($f, $_POST[$f]); } } $form->save(true); foreach ($form->getDynamicFields() as $field) { $id = $field->get('id'); if ($_POST["delete-{$id}"] == 'on' && $field->isDeletable()) { if ($_POST["delete-data-{$id}"]) { DynamicFormEntryAnswer::objects()->filter(array('field_id' => $id))->delete(); } $field->delete(); // Don't bother updating the field continue; } if (isset($_POST["type-{$id}"]) && $field->isChangeable()) { $field->set('type', $_POST["type-{$id}"]); } if (isset($_POST["name-{$id}"]) && !$field->isNameForced()) { $field->set('name', trim($_POST["name-{$id}"])); } # TODO: make sure all help topics still have all required fields $field->setRequirementMode($_POST["visibility-{$id}"]); foreach (array('sort', 'label') as $f) { if (isset($_POST["{$f}-{$id}"])) {
function getAnswers() { if (!isset($this->_values)) { $this->_values = DynamicFormEntryAnswer::objects()->filter(array('entry_id' => $this->get('id')))->all(); foreach ($this->_values as $v) { $v->entry = $this; } } return $this->_values; }
$form_fields = array(); $names = array(); switch(strtolower($_POST['do'])) { case 'update': foreach ($fields as $f) if (in_array($f, $required) && !$_POST[$f]) $errors[$f] = sprintf(__('%s is required'), mb_convert_case($f, MB_CASE_TITLE)); elseif (isset($_POST[$f])) $form->set($f, $_POST[$f]); $form->save(true); foreach ($form->getDynamicFields() as $field) { $id = $field->get('id'); if ($_POST["delete-$id"] == 'on' && $field->isDeletable()) { if ($_POST["delete-data-$id"]) { DynamicFormEntryAnswer::objects() ->filter(array('field_id'=>$id)) ->delete(); } $field->delete(); // Don't bother updating the field continue; } if (isset($_POST["type-$id"]) && $field->isChangeable()) $field->set('type', $_POST["type-$id"]); if (isset($_POST["name-$id"]) && !$field->isNameForced()) $field->set('name', trim($_POST["name-$id"])); # TODO: make sure all help topics still have all required fields $field->setRequirementMode($_POST["visibility-$id"]); foreach (array('sort','label') as $f) {