/*
 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);
示例#3
0
 /**
  * Liste des étiqettes colis     
  * @param type $paramIsEditable
  * @param type $paramSiteDeProduction
  * @param type $paramEtiqetteCodesoft
  * @return type
  */
 function getListeCodesoftEtiquettesColis($paramIsEditable, $paramSiteDeProduction, $paramEtiqetteCodesoft)
 {
     $HtmlList = new HtmlListSelect();
     $arrayEtiquette = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . CodesoftEtiquettesModel::KEYNAME . ',' . CodesoftEtiquettesModel::FIELDNAME_DESIGNATION_CODESOFT_ETIQUETTES . ' FROM ' . CodesoftEtiquettesModel::TABLENAME . ' WHERE (' . CodesoftEtiquettesModel::FIELDNAME_K_SITE . '=' . $paramSiteDeProduction . ' OR ' . CodesoftEtiquettesModel::FIELDNAME_K_SITE . '=0)' . ' AND (' . CodesoftEtiquettesModel::FIELDNAME_K_TYPE_ETIQUETTE_CODESOFT_ETIQUETTES . '=1' . ' OR ' . CodesoftEtiquettesModel::FIELDNAME_K_TYPE_ETIQUETTE_CODESOFT_ETIQUETTES . '=0' . ')' . ' AND ' . CodesoftEtiquettesModel::FIELDNAME_IS_ENABLED_FTA . '=1' . ' ORDER BY ' . CodesoftEtiquettesModel::FIELDNAME_DESIGNATION_CODESOFT_ETIQUETTES);
     $HtmlList->setArrayListContent($arrayEtiquette);
     $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_ETIQUETTE_CODESOFT . '_' . $this->getModel()->getKeyValue();
     /**
      * Champ verrouillable condition
      */
     /**
      * Vérification du champ initialisé
      */
     $isFieldLock = FtaVerrouillageChampsModel::isFieldLock(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT, $this->getModel());
     /**
      * Génération du lien pour verrouillé/déverrouillé
      */
     $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, FtaModel::FIELDNAME_ETIQUETTE_CODESOFT, $this->getModel(), $paramIsEditable);
     /**
      * Affectation de la modification d'un champ ou non
      */
     $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $paramIsEditable);
     $etiquetteCodesoftDataField = $this->getModel()->getDataField(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT);
     $HtmlList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT);
     $HtmlList->setLabel(DatabaseDescription::getFieldDocLabel(FtaModel::TABLENAME, FtaModel::FIELDNAME_ETIQUETTE_CODESOFT));
     $HtmlList->setIsEditable($isEditable);
     $HtmlList->initAbstractHtmlSelect($HtmlTableName, $HtmlList->getLabel(), $paramEtiqetteCodesoft, $etiquetteCodesoftDataField->isFieldDiff(), $HtmlList->getArrayListContent(), NULL, NULL, $isFieldLock, $linkFieldLock);
     $HtmlList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $this->getModel()->getKeyValue(), FtaModel::FIELDNAME_ETIQUETTE_CODESOFT);
     /**
      * Description d'un champ
      */
     $HtmlList->setHelp(IntranetColumnInfoModel::getFieldDesc($etiquetteCodesoftDataField->getTableName(), $etiquetteCodesoftDataField->getFieldName(), $etiquetteCodesoftDataField->getFieldLabel(), $HtmlList));
     $listeCodesoftEtiquettes = $HtmlList->getHtmlResult();
     return $listeCodesoftEtiquettes;
 }
示例#4
0
 /**
  * On gère les conditions des Codes Articles Primaires et Secondaires
  * Dans le cas d'une validation d'un Fta Priamire, on synchronise les données de la Fta Primaires avec toutes les Secondaire
  * La mise à jour est faîte sur la Fta Modifié > Validé
  * FtaEtatModel::ID_VALUE_MODIFICATION - synchronisation que des fta modifié
  * FtaEtatModel::ID_VALUE_VALIDE - synchronisation que des fta validé
  * @param string $paramTypeSynchro
  */
 function manageFtaPrimaireSecondaire($paramTypeSynchro, $paramState = NULL)
 {
     /**
      * Vérification de l'état de la Fta
      */
     $ftaValue = $this->checkFtaPrimaireSecondaire();
     switch ($ftaValue) {
         case FtaModel::FTA_PRIMAIRE:
             //Synchronisation des données de la Fta primaire avec les secondaires
             $arrayIdFtaSeondaire = $this->getArrayIdFtaSecondaireByDossierPrimaire($paramTypeSynchro);
             if ($arrayIdFtaSeondaire) {
                 foreach ($arrayIdFtaSeondaire as $rowsIdFtaSeondaire) {
                     $dossierTmp = $rowsIdFtaSeondaire[self::FIELDNAME_DOSSIER_FTA];
                     /**
                      * On effectue la synchronisation des données en priorité sur les Fta Secondaires en modifiation 
                      * Sinon elle seront faîte sur les Fta Validé
                      * Ordonnance du tableau permet ce traitement
                      */
                     if ($dossierUse != $dossierTmp) {
                         FtaVerrouillageChampsModel::dataSynchronizeFtaPrimarySecondary($this->getKeyValue(), $rowsIdFtaSeondaire[self::KEYNAME], $this->getDossierFta(), $paramState);
                         $dossierUse = $dossierTmp;
                     }
                 }
                 switch ($paramState) {
                     /**
                      * Changement de l'état afin de synchroniser les données avec les Fta validées
                      */
                     case FtaVerrouillageChampsModel::CHANGE_STATE_FALSE:
                         $check = $paramState;
                         $changeState = FtaVerrouillageChampsModel::CHANGE_STATE_TRUE_VALIDATION_CHAPITRE;
                         break;
                         /**
                          * Changement de l'état afin de les considérés les données avec les Fta validées synchronisé
                          */
                     /**
                      * Changement de l'état afin de les considérés les données avec les Fta validées synchronisé
                      */
                     case FtaVerrouillageChampsModel::CHANGE_STATE_TRUE_VALIDATION_CHAPITRE:
                         $check = $paramState . " OR " . FtaVerrouillageChampsModel::FIELDNAME_FIELD_CHANGE_STATE . "=" . FtaVerrouillageChampsModel::CHANGE_STATE_FALSE;
                         $changeState = FtaVerrouillageChampsModel::CHANGE_STATE_TRUE_VALIDATION_FTA;
                         break;
                 }
                 $arrayKeyFtaVerrouillage = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . FtaVerrouillageChampsModel::KEYNAME . " FROM " . FtaVerrouillageChampsModel::TABLENAME . " WHERE " . FtaVerrouillageChampsModel::FIELDNAME_DOSSIER_FTA_PRIMAIRE . "=" . $this->getDossierFta() . " AND " . FtaVerrouillageChampsModel::FIELDNAME_FIELD_CHANGE_STATE . "=" . $check);
                 if ($arrayKeyFtaVerrouillage) {
                     DatabaseOperation::execute("UPDATE " . FtaVerrouillageChampsModel::TABLENAME . " SET " . FtaVerrouillageChampsModel::FIELDNAME_FIELD_CHANGE_STATE . "='" . $changeState . "' WHERE " . FtaVerrouillageChampsModel::FIELDNAME_DOSSIER_FTA_PRIMAIRE . "=" . $this->getDossierFta() . " AND " . FtaVerrouillageChampsModel::FIELDNAME_FIELD_CHANGE_STATE . "=" . $check);
                 }
             }
             /**
              * Réinitialisation du changement d'état
              */
             //                FtaVerrouillageChampsModel::resetChangeStateFieldLock($this->getDossierFta());
             break;
         case FtaModel::FTA_SECONDAIRE:
         case FtaModel::FTA_NORMAL:
             //Aucun traitement sur les Fta Secondaires et normaux
             break;
     }
 }
 function getHtmlCodePSF()
 {
     $id_fta_composant = $this->getFtaComposantModel()->getKeyValue();
     $codePSFValue = $this->getFtaComposantModel()->getDataField(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE)->getFieldValue();
     $codePSF = new HtmlInputText();
     $HtmlTableName = FtaComposantModel::TABLENAME . '_' . FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE . '_' . $id_fta_composant;
     /**
      * Champ verrouillable condition
      */
     /**
      * Vérification du champ initialisé
      */
     $isFieldLock = FtaVerrouillageChampsModel::isFieldLock(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE, $this->getFtaModel());
     /**
      * Génération du lien pour verrouillé/déverrouillé
      */
     $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE, $this->getFtaModel(), $this->getIsEditable());
     /**
      * Affectation de la modification d'un champ ou non
      */
     $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $this->getIsEditable());
     $codePSFDataField = $this->getFtaComposantModel()->getDataField(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE);
     $codePSF->setLabel(DatabaseDescription::getFieldDocLabel(FtaComposantModel::TABLENAME, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE));
     $codePSF->getAttributes()->getValue()->setValue($codePSFValue);
     $codePSF->getAttributes()->getPattern()->setValue("[0-9]{1,6}");
     $codePSF->getAttributes()->getMaxLength()->setValue("6");
     $codePSF->setIsEditable($isEditable);
     $codePSF->initAbstractHtmlInput($HtmlTableName, $codePSF->getLabel(), $codePSFValue, $codePSFDataField->isFieldDiff(), NULL, NULL, $isFieldLock, $linkFieldLock);
     $codePSF->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaComposantModel::TABLENAME, FtaComposantModel::KEYNAME, $id_fta_composant, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE);
     /**
      * Description d'un champ
      */
     $codePSF->setHelp(IntranetColumnInfoModel::getFieldDesc($codePSFDataField->getTableName(), $codePSFDataField->getFieldName(), $codePSFDataField->getFieldLabel(), $codePSF));
     return $codePSF->getHtmlResult();
 }
 /**
  * Initialisation de la vérification du verrouillage du champs 
  * (Fonctionalitée Code Primaire/Secondaire)
  * @param FtaModel $paramFtaModel
  * @param boolean $paramIsEditable
  */
 public function checkLockField(FtaModel $paramFtaModel, $paramIsEditable)
 {
     /**
      * Vérification du champ initialisé
      */
     $isFieldLock = FtaVerrouillageChampsModel::isFieldLock($this->getFieldName(), $paramFtaModel);
     /**
      * Génération du lien pour verrouillé/déverrouillé
      */
     $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, $this->getFieldName(), $paramFtaModel, $paramIsEditable);
     /**
      * Inialisation du résultat
      */
     $this->setIsFieldLock($isFieldLock);
     $this->setLinkFieldLock($linkFieldLock);
 }
  en fonction de la variable "$action". Ensuite elle redirige le
  résultat vers une autre page.
 Le plus souvent, le traitement est délocalisé sous forme de
  fonction située dans le fichier "functions.php"
*/
/*
 Récupération des données MySQL
*/
$action = Lib::getParameterFromRequest('action');
$paramIdFta = Lib::getParameterFromRequest(FtaModel::KEYNAME);
$paramFieldName = Lib::getParameterFromRequest('FieldName');
$string = substr(strrchr($_SERVER["HTTP_REFERER"], '?'), '1');
/**
 * Initialisation
 */
$ftaModel = new FtaModel($paramIdFta);
$idFtaDossier = $ftaModel->getDataField(FtaModel::FIELDNAME_DOSSIER_FTA)->getFieldValue();
if ($idFtaDossier) {
    $idFtaVerrrouillageChamps = FtaVerrouillageChampsModel::getIdFtaVerrouillageChamps($idFtaDossier, $paramFieldName);
    $ftaVerrouillageChampsModel = new FtaVerrouillageChampsModel($idFtaVerrrouillageChamps);
    $ftaVerrouillageChampsModel->changeStateFieldLock();
    //Redirection
    header('Location: modification_fiche.php?' . $string);
} else {
    $titre = UserInterfaceMessage::FR_WARNING_DATA_VERROUILLAGE_TITLE;
    $message = UserInterfaceMessage::FR_WARNING_DATA_VERROUILLAGE;
    Lib::showMessage($titre, $message, $redirection);
}
?>

 /**
  * Affiche la liste déroulante des sites de production pour les composants et compositions
  * @param HtmlListSelect $paramObjet
  * @param boolean $paramIsEditable
  * @param boolean $paramLabelSiteDeProduction
  * @return string
  */
 function showListeDeroulanteSiteProdForComposant(HtmlListSelect $paramObjet, $paramIsEditable, $paramLabelSiteDeProduction)
 {
     //        $ftaModel = new FtaModel($paramIdFta);
     //        $siteDeProductionFta = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_ASSEMBLAGE)->getFieldValue();
     $labelSiteDeProductionDataField = $this->getDataField($paramLabelSiteDeProduction);
     $arraySite = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . GeoModel::KEYNAME . ',' . GeoModel::FIELDNAME_GEO . ' FROM ' . GeoModel::TABLENAME . ' WHERE ' . GeoModel::FIELDNAME_TAG_APPLICATION_GEO . ' LIKE  \'%fta%\'' . ' ORDER BY ' . GeoModel::FIELDNAME_GEO);
     $paramObjet->setArrayListContent($arraySite);
     $HtmlTableName = self::TABLENAME . '_' . $paramLabelSiteDeProduction . '_' . $this->getKeyValue();
     $arraySiteComposant = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . $paramLabelSiteDeProduction . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue());
     foreach ($arraySiteComposant as $value) {
         $SiteDeProduction = $value[$paramLabelSiteDeProduction];
     }
     if ($SiteDeProduction) {
         $paramObjet->setDefaultValue($SiteDeProduction);
     }
     //        else {
     //            $paramObjet->setDefaultValue($siteDeProductionFta);
     //        }
     /**
      * Champ verrouillable condition
      */
     /**
      * Vérification du champ initialisé
      */
     $isFieldLock = FtaVerrouillageChampsModel::isFieldLock($paramLabelSiteDeProduction, $this->getModelFta());
     /**
      * Génération du lien pour verrouillé/déverrouillé
      */
     $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, $paramLabelSiteDeProduction, $this->getModelFta(), $paramIsEditable);
     /**
      * Affectation de la modification d'un champ ou non
      */
     $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $paramIsEditable);
     $paramObjet->getAttributes()->getName()->setValue($paramLabelSiteDeProduction);
     $paramObjet->setLabel(DatabaseDescription::getFieldDocLabel(GeoModel::TABLENAME, GeoModel::FIELDNAME_GEO));
     $paramObjet->setIsEditable($isEditable);
     $paramObjet->initAbstractHtmlSelect($HtmlTableName, $paramObjet->getLabel(), $labelSiteDeProductionDataField->getFieldValue(), $labelSiteDeProductionDataField->isFieldDiff(), $paramObjet->getArrayListContent(), NULL, NULL, $isFieldLock, $linkFieldLock);
     $paramObjet->getEventsForm()->setOnChangeWithAjaxAutoSave(self::TABLENAME, self::KEYNAME, $this->getKeyValue(), $paramLabelSiteDeProduction);
     /**
      * Description d'un champ
      */
     $paramObjet->setHelp(IntranetColumnInfoModel::getFieldDesc($labelSiteDeProductionDataField->getTableName(), $labelSiteDeProductionDataField->getFieldName(), $labelSiteDeProductionDataField->getFieldLabel(), $paramObjet));
     $listeSiteProduction = $paramObjet->getHtmlResult();
     return $listeSiteProduction;
 }