Exemple #1
0
 function saveFieldConfiguration($field_id)
 {
     $field = DynamicFormField::lookup($field_id);
     if (!$field->setConfiguration()) {
         include STAFFINC_DIR . 'templates/dynamic-field-config.tmpl.php';
     } else {
         $field->save();
     }
 }
 function delete()
 {
     $fields = DynamicFormField::objects()->filter(array('type' => 'list-' . $this->id))->count();
     if ($fields == 0) {
         return parent::delete();
     } else {
         // Refuse to delete lists that are in use by fields
         return false;
     }
 }
Exemple #3
0
                     } elseif ($i > 0) {
                         $warn = sprintf(__('%1$d of %1$d %3$s deleted'), $i, $count, _N('selected custom form', 'selected custom forms', $count));
                     } elseif (!$errors['err']) {
                         $errors['err'] = sprintf(__('Unable to delete %s'), _N('selected custom form', 'selected custom forms', $count));
                     }
                     break;
             }
         }
         break;
 }
 if ($form) {
     for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
         if (!$_POST["label-new-{$i}"]) {
             continue;
         }
         $field = DynamicFormField::create(array('sort' => $_POST["sort-new-{$i}"] ? $_POST["sort-new-{$i}"] : ++$max_sort, 'label' => $_POST["label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => trim($_POST["name-new-{$i}"])));
         $field->setRequirementMode($_POST["visibility-new-{$i}"]);
         $field->setForm($form);
         if (in_array($field->get('name'), $names)) {
             $field->addError(__('Field variable name is not unique'), 'name');
         }
         if ($field->isValid()) {
             $form_fields[] = $field;
             if ($N = $field->get('name')) {
                 $names[] = $N;
             }
         } else {
             $errors["new-{$i}"] = $field->errors();
         }
     }
     // XXX: Move to an instrumented list that can handle this better
Exemple #4
0
            break;
    }
    if ($list && $list->allowAdd()) {
        for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
            if (!$_POST["value-new-{$i}"]) {
                continue;
            }
            $list->addItem(array('value' => $_POST["value-new-{$i}"], 'abbrev' => $_POST["abbrev-new-{$i}"], 'sort' => $_POST["sort-new-{$i}"] ?: ++$max_isort), $errors);
        }
    }
    if ($form) {
        for ($i = 0; isset($_POST["prop-sort-new-{$i}"]); $i++) {
            if (!$_POST["prop-label-new-{$i}"]) {
                continue;
            }
            $field = DynamicFormField::create(array('form_id' => $form->get('id'), 'sort' => $_POST["prop-sort-new-{$i}"] ?: ++$max_sort, 'label' => $_POST["prop-label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => $_POST["name-new-{$i}"]));
            $field->setForm($form);
            if ($field->isValid()) {
                $field->save();
            } else {
                $errors["new-{$i}"] = $field->errors();
            }
        }
        // XXX: Move to an instrumented list that can handle this better
        if (!$errors) {
            $form->_dfields = $form->_fields = null;
        }
    }
}
$page = 'dynamic-lists.inc.php';
if ($list || $_REQUEST['a'] && !strcasecmp($_REQUEST['a'], 'add')) {
 function getField()
 {
     if (!isset($this->field)) {
         $f = DynamicFormField::lookup($this->get('field_id'));
         $this->field = $f->getImpl($f);
         $this->field->setAnswer($this);
     }
     return $this->field;
 }
Exemple #6
0
 function upload($id)
 {
     if (!($field = DynamicFormField::lookup($id))) {
         Http::response(400, 'No such field');
     }
     $impl = $field->getImpl();
     if (!$impl instanceof FileUploadField) {
         Http::response(400, 'Upload to a non file-field');
     }
     return JsonDataEncoder::encode(array('id' => $impl->ajaxUpload()));
 }
                    <?php 
        }
        ?>
                </optgroup>
                <?php 
    }
    ?>
            </select></td>
            <td>
                <select name="visibility-new-<?php 
    echo $i;
    ?>
">
<?php 
    $rmode = $info['visibility-new-' . $i];
    foreach (DynamicFormField::allRequirementModes() as $m => $I) {
        ?>
    <option value="<?php 
        echo $m;
        ?>
" <?php 
        if ($rmode == $m) {
            echo 'selected="selected"';
        }
        ?>
><?php 
        echo $I['desc'];
        ?>
</option>
<?php 
    }
Exemple #8
0
                     } elseif ($i > 0) {
                         $warn = "{$i} of {$count} selected forms deleted";
                     } elseif (!$errors['err']) {
                         $errors['err'] = 'Unable to delete selected custom forms';
                     }
                     break;
             }
         }
         break;
 }
 if ($form) {
     for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
         if (!$_POST["label-new-{$i}"]) {
             continue;
         }
         $field = DynamicFormField::create(array('sort' => $_POST["sort-new-{$i}"] ? $_POST["sort-new-{$i}"] : ++$max_sort, 'label' => $_POST["label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => $_POST["name-new-{$i}"], 'private' => $_POST["private-new-{$i}"] == 'on' ? 1 : 0, 'required' => $_POST["required-new-{$i}"] == 'on' ? 1 : 0));
         $field->setForm($form);
         if ($field->isValid()) {
             $form_fields[] = $field;
         } else {
             $errors["new-{$i}"] = $field->errors();
         }
     }
     // XXX: Move to an instrumented list that can handle this better
     if (!$errors) {
         $form->_dfields = $form->_fields = null;
         $form->save(true);
         foreach ($form_fields as $field) {
             $field->set('form_id', $form->get('id'));
             $field->save();
         }