function getFtaSuiviProjetModel()
 {
     $idFtaChapitre = $this->getFtaChapitreModel()->getKeyValue();
     $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($this->getModel()->getKeyValue(), $idFtaChapitre);
     $ftaSuiviProjetModel = new FtaSuiviProjetModel($idFtaSuiviProjet);
     $ftaSuiviProjetModel->setIsEditable($this->getIsEditable());
     return $ftaSuiviProjetModel;
 }
Пример #2
0
 public static function initChapitre($id_fta, $id_fta_chapitre, $synthese_action, $comeback, $idFtaEtat, $abreviationFtaEtat, $idFtaRole, $checkArcadiaData)
 {
     self::$checkArcadiaData = $checkArcadiaData;
     self::$is_data_validation_successful = FALSE;
     self::$id_fta = $id_fta;
     self::$comeback = $comeback;
     self::$id_fta_etat = $idFtaEtat;
     self::$abrevation_etat = $abreviationFtaEtat;
     self::$id_fta_role = $idFtaRole;
     self::$id_fta_chapitre = $id_fta_chapitre;
     self::$ftaModel = new FtaModel(self::$id_fta);
     self::$ftaChapitreModel = new FtaChapitreModel(self::$id_fta_chapitre);
     self::$id_fta_workflow = self::$ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue();
     self::$ftaWorkflowModel = new FtaWorkflowModel(self::$id_fta_workflow);
     self::$synthese_action = $synthese_action;
     $globalConfig = new GlobalConfig();
     UserModel::checkUserSessionExpired($globalConfig);
     self::$idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
     $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre(self::$id_fta, self::$id_fta_chapitre);
     self::$ftaSuiviProjetModel = new FtaSuiviProjetModel($idFtaSuiviProjet);
     //        self::$objectFta = new ObjectFta(self::$id_fta); //cela genère un id fta_suivie projet de trop
     //        self::$objectFta->loadCurrentSuiviProjectByChapter(self::$id_fta_chapitre);
     self::$id_fta_workflow_structure = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre(self::$id_fta, self::$id_fta_chapitre);
     self::$ftaWorkflowStructureModel = new FtaWorkflowStructureModel(self::$id_fta_workflow_structure);
     self::$id_fta_processus = self::$ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS)->getFieldValue();
     self::$id_intranet_actions = IntranetActionsModel::getIdIntranetActionsFromIdParentAction(self::$ftaWorkflowModel->getDataField(FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS)->getFieldValue(), self::$id_fta_chapitre, self::$id_fta_workflow, self::$id_fta_role);
     self::$moduleIntranetActionsModel = new IntranetActionsModel(self::$id_intranet_actions);
     self::$is_owner = self::buildIsOwner();
     self::$is_editable = self::buildIsEditable();
     self::$is_correctable = self::buildIsCorrectable();
     self::$taux_validation_processus = self::buildTauxValidationProcessus();
     self::$html_correct_button = self::buildHtmlCorrectButton();
     self::$html_chapitre_core = self::buildChapitreCore();
     self::$html_submit_button = self::buildHtmlSubmitButton();
     self::$html_suivi_dossier = self::buildSuiviDossier();
     self::$html_chapitre_all = self::buildChapitreAll();
 }
Пример #3
0
function notification_suivi_projet($id_fta, $paramIdChapitre)
{
    /*
     Cette fonction notifie les processus en fonction de l'état d'avancement du suivi du projet.
     Cet état d'avancement est géré par la table fta_suivi_projet
     Elle ne fait que de l'information, et ne modifie pas l'état de la fiche mais uniquement son suivi
    */
    //Récupération des informations de la FTA
    $_SESSION["id_fta"] = $id_fta;
    mysql_table_load("fta");
    //    mysql_table_load("access_arti2");
    mysql_table_load("fta_etat");
    //Récupération des Processus
    $req = "SELECT * FROM fta_processus ";
    $result = DatabaseOperation::query($req);
    while ($rows_processus = mysql_fetch_array($result)) {
        //Si l'utilisateur appartient au processus, il n'est pas necessaire d'informer tous son service par mail
        $req = "SELECT nom_intranet_actions " . "FROM intranet_actions " . "WHERE id_intranet_actions='" . $rows_processus["id_intranet_actions"] . "' ";
        $result_action = DatabaseOperation::query($req);
        $nom_intranet_actions = mysql_result($result_action, 0, "nom_intranet_actions");
        //echo      "fta_".$nom_intranet_actions.": ".$GLOBALS{"fta_".$nom_intranet_actions}."<br>";
        if ($GLOBALS["fta_" . $nom_intranet_actions]) {
            $no_mail = 1;
            //Désactivation du mail pour ce processus
        } else {
            $no_mail = 0;
            //Activation du mail
        }
        //Ce processus est-il un processus en cours ?
        if (fta_processus_etat($id_fta, $rows_processus["id_fta_processus"]) == 2) {
            //Activation du mail
            //$no_mail=0;
            //Recherche des Notifications des chapitres
            $req = "SELECT notification_fta_suivi_projet " . "FROM fta_suivi_projet, fta_chapitre, fta_processus " . "WHERE (fta_suivi_projet.id_fta_chapitre=fta_chapitre.id_fta_chapitre " . "AND `fta_processus`.`id_fta_processus` = `fta_chapitre`.`id_fta_processus` ) " . "AND fta_chapitre.id_fta_processus=" . $rows_processus["id_fta_processus"] . " " . "AND fta_suivi_projet.id_fta=" . $id_fta . " ";
            $result_2 = mysql_query($req);
            //L'ensemble des chapitres a-t-il été entièrement notifié ?
            // -1 = le suivi doit etre créé et le processus doit être informé
            //  0 = ce processus doit être informé
            //  1 = ce processus a déjà était informé
            if (mysql_num_rows($result_2)) {
                $notification = 1;
                while ($rows_notification = mysql_fetch_array($result_2)) {
                    $notification = $notification * $rows_notification["notification_fta_suivi_projet"];
                }
            } else {
                $notification = -1;
            }
            //Si au moins un des chapitres n'a pas été notifié ou qu'il n' y a pas encore de suivi
            if ($notification <= 0 and $rows_processus["id_fta_processus"] != 1) {
                //Initialisation du tableau des destinataires (mail + identifiant)
                $liste_mail = "";
                $liste_user = "";
                //Si le mail reste actif, on construit la listes des utilisateurs à informer
                if (!$no_mail) {
                    //Recherche de la liste des utilisateurs à informer
                    switch ($rows_processus["multisite_fta_processus"]) {
                        case 0:
                            //1. Cas de processus mono-site
                            //-----------------------------
                            //Est-ce que seul le service du chef de projet doit être informé ?
                            if ($rows_processus["information_service_chef_projet_fta_processus"]) {
                                //Rechercher du service du chef de projet
                                $req = "SELECT `salaries`.`id_service` " . "FROM `fta_suivi_projet`,  `salaries` " . "WHERE ( `fta_suivi_projet`.`signature_validation_suivi_projet` = `salaries`.`id_user` ) " . "AND ( ( `fta_suivi_projet`.`id_fta` = " . $id_fta . " AND `fta_suivi_projet`.`id_fta_chapitre` = 1 ) ) ";
                                $result = DatabaseOperation::query($req);
                                $id_service = mysql_result($result, 0, "id_service");
                                $where = "AND salaries.id_service=" . $id_service . " ";
                                //Désactivation de l'envoi du mail dans ce cas de figure.
                                $no_mail = 1;
                            }
                            $req = "SELECT DISTINCT `salaries`.`id_user`, `salaries`.`mail`, `salaries`.`login`,`salaries`.`nom`,`salaries`.`prenom`, `fta_processus`.`id_fta_processus` " . "FROM `salaries`, `intranet_droits_acces`, `intranet_modules`, `intranet_actions`, `fta_processus` " . "WHERE ( `salaries`.`id_user` = `intranet_droits_acces`.`id_user` " . "AND `salaries`.`actif` = 'oui' " . "AND `intranet_actions`.`id_intranet_actions` = `intranet_droits_acces`.`id_intranet_actions` " . "AND `intranet_actions`.`id_intranet_actions` = `fta_processus`.`id_intranet_actions` ) " . "AND ( ( `intranet_droits_acces`.`niveau_intranet_droits_acces` <> 0 " . "AND `fta_processus`.`id_fta_processus` = " . $rows_processus["id_fta_processus"] . "  " . "AND fta_processus.multisite_fta_processus = 0 " . "AND `intranet_modules`.`nom_intranet_modules` = 'fta' ) )" . "AND salaries.id_user<>'" . $_SESSION["id_user"] . "' " . $where;
                            $result_mail = DatabaseOperation::query($req);
                            if (mysql_num_rows($result_mail)) {
                                while ($rows_mail = mysql_fetch_array($result_mail)) {
                                    //Remplissage du tableau des destinataires (mail + identifiant)
                                    $liste_mail[] = $rows_mail["mail"];
                                    $liste_user[] = "- " . $rows_mail["prenom"] . " " . $rows_mail["nom"];
                                }
                            }
                            break;
                        case 1:
                            //2. Cas de processus multi-site
                            //------------------------------
                            //Existe-t-il un processus d'un autre site qui gère ce site d'assemblage ?
                            $req = "SELECT * FROM fta_processus_multisite " . "WHERE  id_site_assemblage_fta_processus_multisite = " . $_SESSION["Site_de_production"] . " " . "AND  id_processus_fta_processus_multisite = " . $rows_processus["id_fta_processus"] . " ";
                            $result_autre_site = DatabaseOperation::query($req);
                            if (mysql_num_rows($result_autre_site)) {
                                $site_gestionnaire = mysql_result($result_autre_site, 0, "id_site_processus_fta_processus_multisite");
                            } else {
                                $site_gestionnaire = $_SESSION["Site_de_production"];
                            }
                            $req = "SELECT DISTINCT `salaries`.`id_user`, `salaries`.`mail`, `salaries`.`login`,`salaries`.`nom`,`salaries`.`prenom`, `fta_processus`.`id_fta_processus` " . "FROM `salaries`, `intranet_droits_acces`, `intranet_modules`, `intranet_actions`, `fta_processus`, geo " . "WHERE ( `salaries`.`id_user` = `intranet_droits_acces`.`id_user` " . "AND `salaries`.`actif` = 'oui' " . "AND `intranet_actions`.`id_intranet_actions` = `intranet_droits_acces`.`id_intranet_actions` " . "AND `intranet_actions`.`id_intranet_actions` = `fta_processus`.`id_intranet_actions` " . "AND `geo`.`id_geo` = `salaries`.`lieu_geo`) " . "AND ( ( `intranet_droits_acces`.`niveau_intranet_droits_acces` <> 0 " . "AND `fta_processus`.`id_fta_processus` = " . $rows_processus["id_fta_processus"] . "  " . "AND fta_processus.multisite_fta_processus = 1 " . "AND `geo`.`id_site` ='" . $site_gestionnaire . "' " . "AND `intranet_modules`.`nom_intranet_modules` = 'fta' ) )" . "AND salaries.id_user<>'" . $_SESSION["id_user"] . "' ";
                            //echo $rows_processus["multisite_fta_processus"]."<br>".$req."<br><br>";
                            $result_mail = DatabaseOperation::query($req);
                            while ($rows_mail = mysql_fetch_array($result_mail)) {
                                //Remplissage du tableau des destinataires (mail + identifiant)
                                $liste_mail[] = $rows_mail["mail"];
                                $liste_user[] = "- " . $rows_mail["prenom"] . " " . $rows_mail["nom"];
                            }
                            break;
                    }
                    //Fin de la recherche des utilisateurs à informer
                }
                //Fin du controle de désactivation de mail
                //Envoi du mail de notification
                $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($id_fta, $paramIdChapitre);
                $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet);
                $modelFta = new FtaModel($id_fta);
                if ($liste_mail and !$no_mail) {
                    foreach ($liste_mail as $adresse_email) {
                        $sujetmail = "FTA/" . $modelFta->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue();
                        $text = "Démarrage du processus: " . $rows_processus["nom_fta_processus"] . "\n" . "Etat de la FTA: " . $modelFta->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_NOM_FTA_ETAT)->getFieldValue() . "\n\n" . "Vous pouvez consulter l'Etat d'avancenement du dossier directement sur le site http://intranet.agis.fr .\n" . "\n" . "Bonne journée.\n" . "Intranet - Fiche Technique Article.";
                        $destinataire = $adresse_email;
                        $expediteur = $_SESSION["prenom"] . " " . $_SESSION["nom_famille_ses"] . " <" . $_SESSION["mail_user"] . ">";
                        //if ($_SESSION["notification_fta_suivi_projet"]) {
                        if ($modelFtaSuiviProjet->getDataField(FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET)->getFieldValue()) {
                            envoismail($sujetmail, $text, $destinataire, $expediteur);
                        }
                    }
                }
                //Fin des envois de mail
                //Enregistrement de la réalisation de la notification du processus
                switch ($notification) {
                    case 0:
                        //Mise à jour du suivi
                        $req = "UPDATE fta_chapitre, fta_suivi_projet " . "SET fta_suivi_projet.notification_fta_suivi_projet=1 " . "WHERE fta_suivi_projet.id_fta_chapitre=fta_chapitre.id_fta_chapitre " . "AND fta_chapitre.id_fta_processus=" . $rows_processus["id_fta_processus"] . " " . "AND fta_suivi_projet.id_fta=" . $id_fta . " ";
                        DatabaseOperation::query($req);
                        break;
                    case -1:
                        //Création du suivi
                        //Récupération des chapitres du processus
                        $req = "SELECT id_fta_chapitre FROM fta_chapitre " . "WHERE id_fta_processus = '" . $rows_processus["id_fta_processus"] . "' ";
                        $result_chapitre = DatabaseOperation::query($req);
                        while ($rows_chapitre = mysql_fetch_array($result_chapitre)) {
                            $req = "INSERT fta_suivi_projet " . "SET notification_fta_suivi_projet=1 " . ", id_fta='" . $id_fta . "' " . ", id_fta_chapitre='" . $rows_chapitre["id_fta_chapitre"] . "' ";
                            DatabaseOperation::query($req);
                        }
                        break;
                }
                //echo $req;
                //echo "<br>";
            }
            //Fin de la vérification par chapitre et du traitement de la notification
        }
        //Fin de la vérification des processus validés
    }
    //Fin du parcours des processsu
    //Message d'Information
    if ($liste_user) {
        $liste_user_html = implode("<br>", $liste_user);
        $titre = "Information communiquée par Mail";
        $message = "Les personnes suivantes viennent d'être informées par mail de la validation de tous vos chapitres." . "<br><br>" . $liste_user_html;
        afficher_message($titre, $message, $redirection);
    }
    //Retour de la fonction
    return $liste_user;
}
         $noredirection = 1;
     }
     break;
 case 'suppression_classification_chemin':
     //Suppresion du chemin
     //$id_classification_fta;             //From URL
     //$id_fta;                            //From URL
     //mysql_table_operation('classification_fta', 'delete');
     ObjectFta::deleteClassification();
     break;
 case 'valider':
     if ($is_data_validation_successful) {
         /**
          * Initialisation
          */
         $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdFtaChapitreEncours);
         $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet);
         $modeChapitre = new FtaChapitreModel($paramIdFtaChapitreEncours);
         $idFtaWorkflowStruture = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre($paramIdFta, $paramIdFtaChapitreEncours);
         $modelFtaWorkflowStruture = new FtaWorkflowStructureModel($idFtaWorkflowStruture);
         /**
          * Actualisation de la durée de vie garantie client
          */
         $nomFtaWorkflow = $modelFtaWorkflowStruture->getModelFtaWorkflow()->getDataField(FtaWorkflowModel::FIELDNAME_NOM_FTA_WORKFLOW)->getFieldValue();
         $nomFtaChapitre = $modelFtaWorkflowStruture->getModelFtaChapitre()->getDataField(FtaChapitreModel::FIELDNAME_NOM_CHAPITRE)->getFieldValue();
         FtaController::refreshDureeDeVieMDD($nomFtaWorkflow, $nomFtaChapitre, $modelFtaSuiviProjet->getModelFta());
         /*
          * Enregistrement de la signature
          */
         //            $isFtaDataValidationSuccess = $modelFtaSuiviProjet->getModelFta()->isFtaDataValidationSuccess($paramIdFtaChapitreEncours);
         $isFtaDataValidationSuccess = $modelFtaSuiviProjet->getModelFta()->isFtaDataValidationSuccess();
 public static function getListeUsersAndNotificationSuiviProjet($paramIdFta, $paramIdChapitre)
 {
     $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
     $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet, $paramIdChapitre);
     $modelFta = new FtaModel($paramIdFta, $paramIdChapitre);
     $id_fta_workflow = $modelFta->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue();
     $ftaWorkflowModel = new FtaWorkflowModel($id_fta_workflow);
     $id_parent_intranet_actions = $ftaWorkflowModel->getDataField(FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS)->getFieldValue();
     //Récupération des Processus
     $arrayProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ', ' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . ', ' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ', ' . FtaProcessusModel::FIELDNAME_INFO_CHEF_PROJET . ', ' . FtaProcessusModel::FIELDNAME_NOM . ' FROM ' . FtaProcessusModel::TABLENAME . ',' . FtaWorkflowStructureModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . $id_fta_workflow);
     foreach ($arrayProcessus as $rowsProcessus) {
         //Si l'utilisateur appartient au processus, il n'est pas necessaire d'informer tous son service par mail
         $arrayIntranetActionProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS . ' FROM ' . IntranetActionsModel::TABLENAME . ' WHERE ' . IntranetActionsModel::KEYNAME . '=\'' . $rowsProcessus[FtaActionRoleModel::FIELDNAME_ID_INTRANET_ACTIONS] . '\' ');
         if ($arrayIntranetActionProcessus) {
             foreach ($arrayIntranetActionProcessus as $rowsIntranetActionProcessus) {
                 $nom_intranet_actions = $rowsIntranetActionProcessus[IntranetActionsModel::FIELDNAME_NOM_INTRANET_ACTIONS];
             }
         }
         //echo      'fta_'.$nom_intranet_actions.': '.$GLOBALS{'fta_'.$nom_intranet_actions}.'<br>';
         if (Acl::getValueAccesRights('fta_' . $nom_intranet_actions)) {
             $no_mail = 1;
             //Désactivation du mail pour ce processus
         } else {
             $no_mail = 0;
             //Activation du mail
         }
         //Ce processus est-il un processus en cours ?
         if (FtaProcessusModel::getValideProcessusEncours($paramIdFta, $rowsProcessus[FtaProcessusModel::KEYNAME], $id_fta_workflow) != 0 and FtaProcessusModel::getValideProcessusEncours($paramIdFta, $rowsProcessus[FtaProcessusModel::KEYNAME], $id_fta_workflow) != 1) {
             //Activation du mail
             //$no_mail=0;
             //Recherche des Notifications des chapitres
             $arraySuiviProjetChapitreProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ', ' . FtaChapitreModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' AND ' . FtaChapitreModel::TABLENAME . '.' . FtaChapitreModel::KEYNAME . ' = ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ') AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' ' . 'AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . $paramIdFta . ' ');
             //L'ensemble des chapitres a-t-il été entièrement notifié ?
             // -1 = le suivi doit etre créé et le processus doit être informé
             //  0 = ce processus doit être informé
             //  1 = ce processus a déjà était informé
             if ($arraySuiviProjetChapitreProcessus) {
                 foreach ($arraySuiviProjetChapitreProcessus as $rowsSuiviProjetChapitreProcessus) {
                     $notification = 1 * $rowsSuiviProjetChapitreProcessus[FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET];
                 }
             } else {
                 $notification = -1;
             }
             //Si au moins un des chapitres n'a pas été notifié ou qu'il n' y a pas encore de suivi
             if ($notification <= 0 and $rowsProcessus[FtaProcessusModel::KEYNAME] != 1) {
                 //Initialisation du tableau des destinataires (mail + identifiant)
                 $liste_mail = '';
                 $liste_user = '';
                 //Si le mail reste actif, on construit la listes des utilisateurs à informer
                 if (!$no_mail) {
                     //Recherche de la liste des utilisateurs à informer
                     switch ($rowsProcessus[FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS]) {
                         case 0:
                             //1. Cas de processus mono-site
                             //-----------------------------
                             //Est-ce que seul le service du chef de projet doit être informé ?
                             if ($rowsProcessus[FtaProcessusModel::FIELDNAME_INFO_CHEF_PROJET]) {
                                 //Rechercher du service du chef de projet
                                 /**
                                  * Pour cette requête le chapitre clé est test identité le 1
                                  */
                                 $arraySuiviProjetSalaries = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . UserModel::FIELDNAME_ID_SERVICE . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ', ' . UserModel::TABLENAME . ' WHERE (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_ID_SERVICE . ') AND ( (' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '= ' . $paramIdFta . 'AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '= 1 ) ) ');
                                 foreach ($arraySuiviProjetSalaries as $rowsSuiviProjetSalaries) {
                                     $where = ' AND ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_ID_SERVICE . '=' . $rowsSuiviProjetSalaries[UserModel::FIELDNAME_ID_SERVICE];
                                 }
                                 //Désactivation de l'envoi du mail dans ce cas de figure.
                                 $no_mail = 1;
                             }
                             //tableau des utilisateurs selon leur accès aux processus
                             $arraySalarieProcessusMono = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_MAIL . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LOGIN . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_NOM . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_PRENOM . ', ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' FROM ' . UserModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ', ' . IntranetModulesModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . FtaActionRoleModel::TABLENAME . ' WHERE ( ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . ' AND ' . UserModel::FIELDNAME_ACTIF . '= \'oui\' ' . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . FtaActionRoleModel::TABLENAME . '.' . FtaActionRoleModel::FIELDNAME_ID_INTRANET_ACTIONS . ') ' . ' AND ( ( ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . ' <>  ' . IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ' = 0 ' . ' AND ' . IntranetModulesModel::TABLENAME . '.' . IntranetModulesModel::FIELDNAME_NOM_INTRANET_MODULES . ' = \'fta\' ) )' . ' AND ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '<>\'' . $modelFta->getModelCreateur()->getDataField(UserModel::KEYNAME)->getFieldValue() . '\'' . $where);
                             if ($arraySalarieProcessusMono) {
                                 foreach ($arraySalarieProcessusMono as $rowsSalarieProcessusMono) {
                                     //Remplissage du tableau des destinataires (mail + identifiant)
                                     $liste_mail[] = $rowsSalarieProcessusMono[UserModel::FIELDNAME_MAIL];
                                     $liste_user[] = '- ' . $rowsSalarieProcessusMono[UserModel::FIELDNAME_PRENOM] . ' ' . $rowsSalarieProcessusMono[UserModel::FIELDNAME_NOM];
                                 }
                             }
                             break;
                         case 1:
                             //2. Cas de processus multi-site
                             //------------------------------
                             //Existe-t-il un processus d'un autre site qui gère ce site d'assemblage ?
                             $arrayMultisiteProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_PROCESSUS_FTA_PROCESSUS_MULTISITE . ' FROM  ' . FtaProcessusMultisiteModel::TABLENAME . ' WHERE ' . FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_ASSEMBLAGE_FTA_PROCESSUS_MULTISITE . '=' . $modelFta->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue() . ' AND ' . FtaProcessusMultisiteModel::FIELDNAME_ID_PROCESSUS_FTA_PROCESSUS_MULTISITE . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME]);
                             if ($arrayMultisiteProcessus) {
                                 foreach ($arrayMultisiteProcessus as $rowsMultisiteProcessus) {
                                     $site_gestionnaire = $rowsMultisiteProcessus[FtaProcessusMultisiteModel::FIELDNAME_ID_SITE_PROCESSUS_FTA_PROCESSUS_MULTISITE];
                                 }
                             } else {
                                 $site_gestionnaire = $modelFta->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue();
                             }
                             $arraySalarieProcessusMulti = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_MAIL . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LOGIN . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_NOM . ', ' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_PRENOM . ', ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' FROM ' . UserModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ', ' . IntranetModulesModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaProcessusModel::TABLENAME . ', ' . GeoModel::TABLENAME . ' WHERE ( ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . ' AND ' . UserModel::FIELDNAME_ACTIF . '= \'oui\' ' . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetActionsModel::getIdIntranetActionsRoleFromIdParentActionNavigation($id_parent_intranet_actions) . ' AND ' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . '=' . UserModel::TABLENAME . '.' . UserModel::FIELDNAME_LIEU_GEO . ') ' . ' AND ( ( ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . ' <>  ' . IntranetNiveauAccesModel::NIVEAU_GENERIC_FALSE . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' = ' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::FIELDNAME_MULTISITE_FTA_PROCESSUS . ' = 1 ' . ' AND ' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . '= \'' . $site_gestionnaire . '\' ' . ' AND ' . IntranetModulesModel::TABLENAME . '.' . IntranetModulesModel::FIELDNAME_NOM_INTRANET_MODULES . ' = \'fta\' ) )' . ' AND ' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . '<>\'' . $modelFta->getModelCreateur()->getDataField(UserModel::KEYNAME)->getFieldValue() . '\'');
                             //echo $rows_processus['multisite_fta_processus'].'<br>'.$req.'<br><br>';
                             if ($arraySalarieProcessusMulti) {
                                 foreach ($arraySalarieProcessusMulti as $rowsSalarieProcessusMulti) {
                                     //Remplissage du tableau des destinataires (mail + identifiant)
                                     $liste_mail[] = $rowsSalarieProcessusMulti[UserModel::FIELDNAME_MAIL];
                                     $liste_user[] = '- ' . $rowsSalarieProcessusMulti[UserModel::FIELDNAME_PRENOM] . ' ' . $rowsSalarieProcessusMulti[UserModel::FIELDNAME_NOM];
                                 }
                             }
                             break;
                     }
                     //Fin de la recherche des utilisateurs à informer
                 }
                 //Fin du controle de désactivation de mail
                 //Envoi du mail de notification
                 if ($liste_mail and !$no_mail) {
                     foreach ($liste_mail as $adresse_email) {
                         $sujetmail = 'FTA/' . $modelFta->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue();
                         $text = 'Démarrage du processus: ' . $rowsProcessus[FtaProcessusModel::FIELDNAME_NOM] . '\\n' . 'Etat de la FTA: ' . $modelFta->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_NOM_FTA_ETAT)->getFieldValue() . '\\n\\n' . 'Vous pouvez consulter l\'Etat d\'avancenement du dossier directement sur le site http://intranet.agis.fr .\\n' . '\\n' . 'Bonne journée.\\n' . 'Intranet - Fiche Technique Article.';
                         $destinataire = $adresse_email;
                         //$expediteur = $_SESSION['prenom'] . ' ' . $_SESSION['nom_famille_ses'] . ' <' . $_SESSION['mail_user'] . '>';
                         $expediteur = $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_PRENOM)->getFieldValue() . ' ' . $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_NOM)->getFieldValue() . ' <' . $modelFta->getModelCreateur()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue() . '>';
                         $typeMail = 'mail-transactions';
                         //if ($_SESSION['notification_fta_suivi_projet']) {
                         if ($modelFtaSuiviProjet->getDataField(FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET)->getFieldValue()) {
                             envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
                         }
                     }
                 }
                 //Fin des envois de mail
                 //Enregistrement de la réalisation de la notification du processus
                 switch ($notification) {
                     case 0:
                         //Mise à jour du suivi
                         $update = 'UPDATE ' . FtaWorkflowStructureModel::TABLENAME . ',' . FtaSuiviProjetModel::TABLENAME . ' SET ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . '=1' . ' WHERE ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $rowsProcessus[FtaProcessusModel::KEYNAME] . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . $paramIdFta;
                         DatabaseOperation::execute($update);
                         break;
                     case -1:
                         //Création du suivi
                         //Récupération des chapitres du processus
                         $arrayChapitre = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' FROM ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '= \'' . $rowsProcessus[FtaProcessusModel::KEYNAME] . '\' ');
                         foreach ($arrayChapitre as $rowsChapitre) {
                             $insert = 'INSERT ' . FtaSuiviProjetModel::TABLENAME . ' SET ' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . '=1' . ', ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=\'' . $paramIdFta . '\'' . ', ' . FtaChapitreModel::KEYNAME . '=' . $rowsChapitre[FtaChapitreModel::KEYNAME];
                             DatabaseOperation::execute($insert);
                         }
                         break;
                 }
             }
             //Fin de la vérification par chapitre et du traitement de la notification
         }
         //Fin de la vérification des processus validés
     }
     //Fin du parcours des processsu
     //Retour de la fonction
     return $liste_user;
 }
Пример #6
0
 /**
  * Correction d'une FTA
  * Pour une FTA données, correction d'un chapitre et dévalidation des processus suivants
  * @param type $paramIdFta
  * @param type $paramIdChapitre
  * @param type $option
  * @return int
  */
 public static function buildCorrectionChapitre($paramIdFta, $paramIdChapitre, $option)
 {
     $option['no_message_ecran'];
     //0=affichage à l'ecran, 1=rien
     $option['correction_fta_suivi_projet'];
     //Commentaire justifiant la correction du chapitre
     $option['mail_gestionnaire'];
     //Informe le gestionnaire de la Fta de la mise en correction de sa Fta
     $HtmlResult = new HtmlResult2();
     $globalConfig = new GlobalConfig();
     UserModel::checkUserSessionExpired($globalConfig);
     //Récupération des informations préalables
     //Nom de l'assistante de projet responsable:
     $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
     $mailExpediteur = $globalConfig->getAuthenticatedUser()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue();
     $nomPrenom = $globalConfig->getAuthenticatedUser()->getPrenomNom();
     $idFtaWorkflowStructure = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
     $ftaWorkflowStructureModel = new FtaWorkflowStructureModel($idFtaWorkflowStructure, $paramIdChapitre);
     $idFtaProcessus = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS)->getFieldValue();
     $idFtaWorkflow = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW)->getFieldValue();
     $arrayFtaSuiviCorrection = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . ',' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ' WHERE ' . FtaModel::KEYNAME . '=' . $paramIdFta . ' AND ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . $paramIdChapitre . ' ');
     if ($arrayFtaSuiviCorrection) {
         foreach ($arrayFtaSuiviCorrection as $rowsFtaSuiviCorrection) {
             $current_correction_fta_suivi_projet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
             $notificationFtaSuiviProjet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
         }
     }
     //Intégration du commentaire de la correction
     if ($current_correction_fta_suivi_projet and $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]) {
         $fullComment = $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET] . '\\n\\n' . $current_correction_fta_suivi_projet;
         $newCorrectionFtaSuiviProjet = FtaController::getComment("Correction d'une Fta", $nomPrenom, $fullComment);
     }
     //        $newCorrectionFtaSuiviProjet = mysql_real_escape_string($newCorrectionFtaSuiviProjet);
     $newCorrectionFtaSuiviProjet = str_replace("<br/>", "\n", $newCorrectionFtaSuiviProjet);
     //Dévalidation du chapitre en cours
     $reqDevelidationChapitre = " UPDATE " . FtaSuiviProjetModel::TABLENAME . " SET " . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . "=0, " . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . "=\"" . $newCorrectionFtaSuiviProjet . "\" " . " WHERE " . FtaModel::KEYNAME . "=" . $paramIdFta . " AND " . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . "=" . $paramIdChapitre;
     DatabaseOperation::execute($reqDevelidationChapitre);
     /*
      * Mise à jour de la validation de l'échéance du processus
      * fonction non utilisé
      */
     // FtaProcessusDelaiModel::BuildFtaProcessusValidationDelai($paramIdFta, $idFtaProcessus, $idFtaWorkflow);
     //Dévalidation des processus suivants
     $return = FtaChapitreModel::buildDevalidationChapitre($paramIdFta, $idFtaProcessus, $HtmlResult);
     /**
      * Actualisation du pourcentage de validation de la Fta
      */
     $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
     $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet);
     $modelFtaSuiviProjet->unsetSigned();
     $modelFtaSuiviProjet->saveToDatabase();
     //print_r($return['mail']);      //Tableau contenant les adresses emails des personnes concernées par la dévalidation
     if (count($return) > 1) {
         $return['processus'] = array_unique($return['processus']);
         //Tableau contenant les identifiants des processus dévalidés unique
     }
     if (is_string($return['processus'])) {
         $return['processus'] = array('processus' => $return['processus']);
     }
     //Informations
     if ($return['processus']) {
         foreach ($return['processus'] as $id_Fta_Processus) {
             $idFtaProcessus = $id_Fta_Processus;
             $arrayFtaProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaProcessusModel::FIELDNAME_NOM . ' FROM ' . FtaProcessusModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $idFtaProcessus . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . $idFtaWorkflow);
             if ($arrayFtaProcessus) {
                 foreach ($arrayFtaProcessus as $rowsFtaProcessus) {
                     $message .= $rowsFtaProcessus[FtaProcessusModel::FIELDNAME_NOM] . '<br>';
                 }
             }
         }
         if (!$message) {
             $message = 'Aucun processus n\'a été dévalidé.';
         }
         $titre = 'Liste des Processus dévalidés';
         if (!$option['no_message_ecran']) {
             Lib::showMessage($titre, $message, $redirection);
         }
         //Envoi des mails
         $show_din = FtaModel::showDin($paramIdFta);
         $sujetElements = $show_din;
         if ($return['mail']) {
             $return['mail'] = array_unique($return['mail']);
             foreach ($return['mail'] as $mail) {
                 $sujetmail = 'FTA/Correction: ' . $sujetElements;
                 $destinataire = $mail;
                 $expediteur = $nomPrenom . ' <' . $mailExpediteur . '>';
                 $text = 'Vos chapitres viennent d\'être dévalidés suite à une correction apportée par ' . $nomPrenom . '.\\n\\n' . 'OBJET DE LA CORRECTION:\\n' . '\\t' . stripslashes($option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]);
                 $typeMail = 'Correction';
                 if ($notificationFtaSuiviProjet) {
                     envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
                 }
             }
         }
         /**
          * Génération d'un mail informant le gestionnaire de la Fta
          */
         if ($option['mail_gestionnaire']) {
             $ftaModel = new FtaModel($paramIdFta);
             $idGestionnaire = $ftaModel->getModelCreateur()->getKeyValue();
             //Tableau des id intranet actions Fta
             $arrayAction = IntranetDroitsAccesModel::getArrayIdIntranetActionWithAccesRightsToFtaByUser($idGestionnaire);
             $checkDiffusion = FtaController::isValueInArray(IntranetNiveauAccesModel::NIVEAU_FTA_DIFFUSION, $arrayAction);
             if ($idGestionnaire != $idUser and $checkDiffusion) {
                 $mailGestionnaire = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue();
                 $sujetmail = 'FTA/Mise en Correction: ' . $sujetElements . ' par ' . $nomPrenom;
                 $destinataire = $mailGestionnaire;
                 $expediteur = $nomPrenom . ' <' . $mailExpediteur . '>';
                 $text = 'Une nouvelle version vient d\'être crée, la correction apportée par ' . $nomPrenom . ' est au sujet de :\\n' . '\\t' . stripslashes($option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]);
                 $typeMail = 'CorrectionValidation2Modification';
                 envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
             }
         }
     }
     //Fin du traitement des processus suivants
     return 1;
 }