/* 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);
/** * 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; }
/** * 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; }