Example #1
0
if (isset($_POST["update"])) {
    $at_least_one_mandatory = false;
    $mapping = new PluginDatainjectionMapping();
    foreach ($_POST['data'] as $id => $mapping_infos) {
        $mapping_infos['id'] = $id;
        //If no field selected, reset other values
        if ($mapping_infos['value'] == PluginDatainjectionInjectionType::NO_VALUE) {
            $mapping_infos['itemtype'] = PluginDatainjectionInjectionType::NO_VALUE;
            $mapping_infos['is_mandatory'] = 0;
        } else {
            $mapping_infos['is_mandatory'] = isset($mapping_infos['is_mandatory']) ? 1 : 0;
        }
        if ($mapping_infos['is_mandatory']) {
            $at_least_one_mandatory = true;
        }
        $mapping->update($mapping_infos);
    }
    if (!$at_least_one_mandatory) {
        Session::addMessageAfterRedirect(__('One link field must be selected: it will be used to check if data already exists', 'datainjection'), true, ERROR, true);
    } else {
        $model = new PluginDatainjectionModel();
        $model->getFromDB($_POST['models_id']);
        if ($model->fields['step'] != PluginDatainjectionModel::READY_TO_USE_STEP) {
            PluginDatainjectionModel::changeStep($_POST['models_id'], PluginDatainjectionModel::OTHERS_STEP);
            Session::setActiveTab('PluginDatainjectionModel', 'PluginDatainjectionModel$5');
            Session::addMessageAfterRedirect(__("This step allows you to add informations not present in the file. You'll be asked for theses informations while using the model.", 'datainjection'));
        }
        unset($_SESSION['datainjection']['lines']);
    }
}
Html::back();