/**
  * Test that when a custom field is configured, then deleted, the field is removed from configuration.
  */
 public function test_rlipexport_version1elis_extrafieldsetcustomfieldbase_handledeleted()
 {
     $this->load_csv_data();
     $fieldid1 = $this->create_custom_field('testcf1', 0, false, CONTEXT_ELIS_USER, 'text');
     $this->create_field_mapping('testcustomfields', 'field_' . $fieldid1, 'Field One');
     $this->create_field_data($fieldid1, 'Test Text One');
     $field = new field($fieldid1);
     $field->load();
     $field->delete();
     $enabledfields = rlipexport_version1elis_extrafields::get_enabled_fields();
     $fieldset = new rlipexport_version1elis_extrafieldset_testcustomfields($enabledfields['testcustomfields']);
     $columns = $fieldset->get_columns();
     $this->assertInternalType('array', $columns);
     $this->assertEmpty($columns);
     $record = new stdClass();
     $data = $fieldset->get_data($record);
     $this->assertInternalType('array', $data);
     $this->assertEmpty($data);
 }
Пример #2
0
require_capability('moodle/site:config', $context);
// Handle submitted actions.
$baseurl = $CFG->wwwroot . '/local/datahub/exportplugins/version1elis/config_fields.php';
$data_submitted = optional_param('data_submitted', false, PARAM_INT);
if (!empty($data_submitted)) {
    require_sesskey();
    $submitted_fields = optional_param_array('fields', array(), PARAM_SAFEPATH);
    // Safepath needed for '/'.
    $submitted_fieldnames = optional_param_array('fieldnames', array(), PARAM_ALPHANUM);
    $submitted_data = array('fields' => $submitted_fields, 'fieldnames' => $submitted_fieldnames);
    $processed_formdata = rlipexport_version1elis_extrafields::process_config_formdata($submitted_data);
    rlipexport_version1elis_extrafields::update_config($processed_formdata);
    redirect($baseurl);
}
$available_fields = rlipexport_version1elis_extrafields::get_available_fields();
$enabled_fields = rlipexport_version1elis_extrafields::get_enabled_fields();
$fieldsets = array();
$fields_by_fieldset = array();
$active_fields_by_fieldset_unordered = array();
$active_fields_by_fieldset_order = array();
$name_overrides = array();
foreach ($available_fields as $fieldset => $fields) {
    $fieldset_class = rlipexport_version1elis_extrafields::FIELDSET_PREFIX . $fieldset;
    $fieldsets[$fieldset] = $fieldset_class::get_label();
    foreach ($fields as $field => $header) {
        if (isset($enabled_fields[$fieldset][$field])) {
            $enabled_field_rec = $enabled_fields[$fieldset][$field];
            if ($enabled_field_rec->header !== '' && $enabled_field_rec->header !== null) {
                $name_overrides[$fieldset . '/' . $field] = $enabled_field_rec->header;
            }
            $active_fields_by_fieldset_unordered[$fieldset . '/' . $field] = $header;