/*
 Inclusion
*/
require_once '../inc/main.php';
/*
 * Entête neutralisant le système de mise en cache du navigateur.
 * AJAX ne doit pas être mis en cache.
 */
header('Content-type: text/html; charset=utf-8');
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
/*
 * Récupération des variables nécessaires au traitement de mise à jour.
 */
$tableName = Lib::getParameterFromRequest("TableName");
$keyName = Lib::getParameterFromRequest("KeyName");
$keyValue = Lib::getParameterFromRequest("KeyValue");
$fieldName = Lib::getParameterFromRequest("FieldName");
$fieldValue = Lib::getParameterFromRequest("FieldValue");
/*
 * Mise à jour de la donnée demandée.
 */
//Logger::AddDebug($fieldValue, __FILE__);
//DatabaseOperation::doSqlUpdateFromOneField($tableName, $keyName, $keyValue, $fieldName, addslashes($fieldValue));
DatabaseOperation::doSqlUpdateFromOneField($tableName, $keyName, $keyValue, $fieldName, $fieldValue);
FtaVerrouillageChampsModel::doUpdateLockField($tableName, $keyValue, $fieldName);
    $etiquette_libelle_legal_fta_composition = $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_ETIQUETTE_LIBELLE_LEGAL_FTA_COMPOSITION)->getFieldValue();
    $code_produit_agrologic_fta_nomenclature = $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE)->getFieldValue();
    $id_prefixe_code_produit_agrologic_fta_nomenclature = $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_ID_ANNEXE_AGRO_ART_CODIFICATION)->getFieldValue();
    if ($id_prefixe_code_produit_agrologic_fta_nomenclature) {
        $annexexAgrologicModel = new AnnexeAgrologicArticleCodificationModel($id_prefixe_code_produit_agrologic_fta_nomenclature);
        $prefixe_code_produit_agrologic_fta_nomenclature = $annexexAgrologicModel->getDataField(AnnexeAgrologicArticleCodificationModel::FIELDNAME_PREFIXE_ANNEXE_AGRO_ART_COD)->getFieldValue();
    }
} else {
    $checkCreation = 0;
    if (!$checkCreation) {
        $creation = 1;
        $id_fta_composant = FtaComposantModel::createNewRecordset(array(FtaComposantModel::FIELDNAME_ID_FTA => $id_fta));
        /**
         * L'ajout d'une composition doit être notifié puisqu'il s'agit d'un champ verrouilé
         */
        FtaVerrouillageChampsModel::doUpdateLockField(FtaComposantModel::TABLENAME, $id_fta_composant, FtaComposantModel::KEYNAME);
        $ftaComposantModel = new FtaComposantModel($id_fta_composant);
        $ftaModel = new FtaModel($id_fta);
        $DureeDeVieTechnique = $ftaModel->getDataField(FtaModel::FIELDNAME_DUREE_DE_VIE_TECHNIQUE_PRODUCTION)->getFieldValue();
        $PCB = $ftaModel->getDataField(FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON)->getFieldValue();
        $poidsUVFValueKG = $ftaModel->getDataField(FtaModel::FIELDNAME_POIDS_ELEMENTAIRE)->getFieldValue();
        $poidsUVFValueG = $poidsUVFValueKG * "1000";
        $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_IS_COMPOSITION_FTA_COMPOSANT)->setFieldValue("1");
        $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_IS_NOMENCLATURE_FTA_COMPOSANT)->setFieldValue("0");
        $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_POIDS_FTA_COMPOSITION)->setFieldValue($poidsUVFValueG);
        $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_DUREE_VIE_TECHNIQUE_FTA_COMPOSITION)->setFieldValue($DureeDeVieTechnique);
        $ftaComposantModel->getDataField(FtaComposantModel::FIELDNAME_QUANTITE_FTA_COMPOSITION)->setFieldValue($PCB);
        $ftaComposantModel->saveToDatabase();
        $ftaComposantView = new FtaComposantView($ftaComposantModel);
        $ftaComposantView->setIsEditable($editable);
        $ftaComposantView2 = new FtaComposantView($ftaComposantModel);