예제 #1
0
 /**
  * Liste des id Fta selon l'état d'avancement en exécution
  * @param type $paramSyntheseAction
  * @param type $paramRole
  * @param type $paramIdUser
  * @param type $paramIdFtaEtat
  * @param type $paramFtaModification
  * @return type
  */
 public static function getIdFtaByEtatAvancement($paramSyntheseAction, $paramRole, $paramIdUser, $paramIdFtaEtat, $paramFtaModification, $paramLieuGeo)
 {
     $idFtaEffectue = array();
     //        $compteur = "0";
     if ($_SESSION['CheckIdFtaRole'] != $paramRole or $_SESSION[UserModel::KEYNAME] != $paramIdUser) {
         Acl::setRightsAcces($paramIdUser, $paramRole);
     }
     switch ($paramSyntheseAction) {
         case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ATTENTE:
             /*
              * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés
              */
             $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')');
             if (FtaRoleModel::isGestionnaire($paramRole)) {
                 $arrayTmp = NULL;
             }
             if ($arrayTmp) {
                 foreach ($arrayTmp as $rows) {
                     $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue);
                     if (!$cheackIdFta) {
                         $tauxDeValidadation = FtaProcessusModel::getValideProcessusEncours($rows[FtaModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]);
                         if ($tauxDeValidadation != '1') {
                             $idFtaEffectue[] = $rows[FtaModel::KEYNAME];
                             //                                $compteur++;
                             //                                if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) {
                             //                                    break;
                             //                                }
                         }
                     }
                 }
             }
             $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')');
             break;
         case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EN_COURS:
             //Récupération des suivis de projet gérés par l'utilisateur et non validé
             /*
              * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés
              */
             $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')');
             if ($arrayTmp) {
                 foreach ($arrayTmp as $rows) {
                     $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue);
                     if (!$cheackIdFta) {
                         $tauxDeValidadation = FtaProcessusModel::getFtaProcessusNonValidePrecedent($rows[FtaModel::KEYNAME], $rows[FtaProcessusModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]);
                         /**
                          * En cas d'oublier des chef de projet qui aurait créé une fta sans validé les informations de base
                          */
                         if (FtaRoleModel::isGestionnaire($paramRole)) {
                             $chefProjet = $tauxDeValidadation == '0';
                             if ($tauxDeValidadation != '0' or $chefProjet == TRUE) {
                                 $idFtaEffectue[] = $rows[FtaModel::KEYNAME];
                                 //                                    $compteur++;
                                 //                                    if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) {
                                 //                                        break;
                                 //                                    }
                             }
                         } elseif ($tauxDeValidadation == '1') {
                             $idFtaEffectue[] = $rows[FtaModel::KEYNAME];
                             //                                $compteur++;
                             //                                if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) {
                             //                                    break;
                             //                                }
                         }
                     }
                 }
             }
             $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')');
             break;
         case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EFFECTUES:
             //Récupération de la liste fta pour le role concernés
             /*
              * On obtient les fta à vérifié dont tous les chapitres sont validés
              */
             $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '<>' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')');
             if ($arrayTmp) {
                 foreach ($arrayTmp as $rows) {
                     $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue);
                     if (!$cheackIdFta) {
                         $tauxDeValidadation = FtaProcessusModel::getValideIdFtaByRoleWorkflowProcessus($rows[FtaModel::KEYNAME], $paramRole, $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]);
                         if ($tauxDeValidadation == '1') {
                             $idFtaEffectue[] = $rows[FtaModel::KEYNAME];
                             //                                $compteur++;
                             //                                if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) {
                             //                                    break;
                             //                                }
                         }
                     }
                 }
             }
             $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')');
             break;
         case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL:
             //Toutes les fiches de l'état sélectionné
             if ($paramFtaModification) {
                 $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')' . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')');
             } else {
                 $isSiteDeProd = GeoModel::isLieuGeoSiteDeProduction($paramLieuGeo);
                 if ($isSiteDeProd) {
                     $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND  ' . FtaModel::FIELDNAME_SITE_PRODUCTION . '=' . $paramLieuGeo);
                 } else {
                     $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat);
                 }
             }
             break;
     }
     return $array;
 }
예제 #2
0
    $id_user = $globalConfig->getAuthenticatedUser()->getKeyValue();
}
$fta_modification = Acl::getValueAccesRights('fta_modification');
$recherche = Lib::getParameterFromRequest("recherche");
if ($recherche == "0") {
    $message = UserInterfaceMessage::FR_WARNING_RECHERE . ModuleConfig::VALUE_MAX_PAR_PAGE;
    $redirection = "recherche.php";
    Lib::showMessage("Erreur", $message, $redirection);
}
$type_recherche = Lib::getParameterFromRequest("type_recherche");
$search_table = Lib::isDefined("search_table");
$search_id = Lib::isDefined("search_id");
$search_req = Lib::isDefined("search_req");
$operateur_recherche = Lib::isDefined("operateur_recherche");
$champ_recherche = Lib::isDefined("champ_recherche");
$idFtaRoleEncoursDefault = FtaRoleModel::getKeyNameOfFirstRoleByIdUser($id_user);
if ($fta_modification) {
} else {
    $synthese_action = FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL;
    $idFtaRoleEncoursDefault = '0';
}
$idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME, $idFtaRoleEncoursDefault);
//$environnementConf = new EnvironmentConf();
//$dossierUrL = $environnementConf->getUrlRoot();
//if(!$dossierUrL){
$dossierUrL = $globalConfig->getConf()->getUrlRoot();
//}
/*
 -----------------
 ACTION A TRAITER
 -----------------
예제 #3
0
 /**
  * On récupère la couleur correspondante à un rôle
  * @param int $paramIdFtaRole
  * @return string
  */
 public static function getColorByRole($paramIdFtaRole)
 {
     $ftaRoleModel = new FtaRoleModel($paramIdFtaRole);
     $color = $ftaRoleModel->getDataField(self::FIELDNAME_COLOR_FTA_ROLE)->getFieldValue();
     return $color;
 }
예제 #4
0
 private static function isUserRightsLinkTransiter($paramIdFtaRole, $paramAbreviationFtaEtat, $paramCheckAccesButton, $paramAccesTransitionButton, $paramSyntheseAction, $paramTauxRound)
 {
     $return = FALSE;
     switch (TRUE) {
         /**
          * Dans le cas où on a les droits de modification, 
          * que le soit chef de projet,
          * que la Fta en cours de modification soit dans un pourcentage d'avancement effectués,
          * que l'on est les droits sur le site de production
          * on accède au boutton de transition
          */
         case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and FtaRoleModel::isGestionnaire($paramIdFtaRole) and ($paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramSyntheseAction == FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL and $paramCheckAccesButton):
             /**
              * Dans le cas où on a les droits de modification, 
              * que le soit chef de projet,
              * que la Fta en cours est dans un état différents que modification,
              * que l'on est les droits sur le site de production
              * on accède au boutton de transition
              */
         /**
          * Dans le cas où on a les droits de modification, 
          * que le soit chef de projet,
          * que la Fta en cours est dans un état différents que modification,
          * que l'on est les droits sur le site de production
          * on accède au boutton de transition
          */
         case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and FtaRoleModel::isGestionnaire($paramIdFtaRole) and $paramAbreviationFtaEtat != FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramCheckAccesButton:
             /**
              * Dans le cas où on a les droits de modification, 
              * que l'on est accès aux bouton de transition,
              * que la Fta en cours de modification soit à 100%,
              * que l'on est les droits sur le site de production
              * on accède au boutton de transition
              */
         /**
          * Dans le cas où on a les droits de modification, 
          * que l'on est accès aux bouton de transition,
          * que la Fta en cours de modification soit à 100%,
          * que l'on est les droits sur le site de production
          * on accède au boutton de transition
          */
         case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and $paramAccesTransitionButton == TRUE and $paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION and $paramTauxRound == FtaProcessusDelaiModel::TAUX_100 and $paramCheckAccesButton:
             /**
              * Dans le cas où on a les droits de modification, 
              * que l'on est accès aux bouton de transition,
              * que la Fta soit valider,
              * que l'on est les droits sur le site de production
              * on accède au boutton de transition
              */
         /**
          * Dans le cas où on a les droits de modification, 
          * que l'on est accès aux bouton de transition,
          * que la Fta soit valider,
          * que l'on est les droits sur le site de production
          * on accède au boutton de transition
          */
         case Acl::getValueAccesRights(Acl::ACL_FTA_MODIFICATION) and $paramAbreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_VALIDE and $paramCheckAccesButton:
             $return = TRUE;
             break;
     }
     return $return;
 }
$page_pdf = $page_default . '_pdf.php';
$action = 'valider';
//Action proposée à la page _post.php
$method = 'method=post';
//Pour une url > 2000 caractères, ne pas utiliser utiliser GET
$html_table = 'table ' . 'border=0 ' . 'width=100% ' . 'class=titre ';
/**
 * Initilisation
 */
$globalConfig = new GlobalConfig();
$idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
$numeroDePageCourante = Lib::getParameterFromRequest('numeroPage', '1');
$arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUser($idUser);
$idFtaRole = $arrayIdFtaRoleAcces["0"][FtaRoleModel::KEYNAME];
IntranetActionsModel::getNameSiteByWorkflow($paramIdUser, $paramArrayIdWorkflow);
if (!FtaRoleModel::isGestionnaire($idFtaRole)) {
    $titre = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS_TITLE;
    $message = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS;
    $redirection = "index.php";
    Lib::showMessage($titre, $message, $redirection, TRUE);
}
$bloc .= "<" . $html_table . "><tr class=titre>" . "<td>Espace de travail</td>" . "<td width=10% >Dossier FTA</td>" . "<td>Code Article</td>" . "<td>Désignation Commerciale</td>" . "<td>Classification actuelle</td>" . "<td>Modifier une classification</td>" . "</tr>";
/**
 * On récupère le tableau complet des dossier Fta n'ayant pas de classification
 */
$arrayDossierComplet = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . FtaModel::FIELDNAME_DOSSIER_FTA . " FROM " . FtaModel::TABLENAME . " , " . FtaActionSiteModel::TABLENAME . " , " . FtaWorkflowModel::TABLENAME . " , " . IntranetDroitsAccesModel::TABLENAME . " , " . IntranetActionsModel::TABLENAME . " , " . ClassificationFta2Model::TABLENAME . " WHERE " . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_WORKFLOW . " = " . FtaWorkflowModel::TABLENAME . "." . FtaWorkflowModel::KEYNAME . " AND " . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . "=" . ClassificationFta2Model::TABLENAME . "." . ClassificationFta2Model::KEYNAME . " AND " . FtaWorkflowModel::TABLENAME . "." . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . "=" . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . " AND " . IntranetDroitsAccesModel::TABLENAME . "." . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . "=" . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::KEYNAME . " AND " . FtaActionSiteModel::TABLENAME . "." . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . " IN (" . IntranetActionsModel::TABLENAME . "." . IntranetActionsModel::KEYNAME . ")" . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ")" . " AND " . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . "=" . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . " AND " . IntranetDroitsAccesModel::FIELDNAME_ID_USER . "=" . $idUser . " GROUP BY " . FtaModel::FIELDNAME_DOSSIER_FTA);
$nbDeResulta = count($arrayDossierComplet);
$nbMaxParPage = "200";
/**
 *  Calcul des enregistrements à afficher
 */
예제 #6
0
 /**
  * Construction du Menu
  * @param array $paramArrayRoleWorkflow
  * @param array $paramRowsFtaEtatAndFta
  * @param string $paramHtmlTable
  * @param string $paramRoleNavigation
  * @param GeoModel $paramGeoModel
  * @param string $paramCreateur
  * @param FtaRoleModel $paramFtaRoleModel
  * @return string
  */
 private static function buildMenu($paramArrayRoleWorkflow, $paramRowsFtaEtatAndFta, $paramHtmlTable, $paramRoleNavigation, GeoModel $paramGeoModel, $paramCreateur, FtaRoleModel $paramFtaRoleModel = NULL)
 {
     if ($paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_CODE_ARTICLE_LDC]) {
         $identifiant = '<b><font size=\'2\' color=\'#0000FF\'>' . $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_CODE_ARTICLE_LDC] . '</font></b>';
     } else {
         $identifiant = '<b><font size=\'2\' color=\'' . self::FONT_COLOR_DOSSIER_FTA . '\'>' . $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_DOSSIER_FTA] . 'v' . $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_VERSION_DOSSIER_FTA] . '</font></b>';
     }
     if ($paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_COMMENTAIRE]) {
         $commentaire = '<br><b><font size=\'2\' color=\'' . self::FONT_COLOR_CHAPITRE_COMMENTAIRE . '\'>' . $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_COMMENTAIRE] . '</font></b>';
     } else {
         $commentaire = '';
     }
     if ($paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_LIBELLE]) {
         $nom = $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_LIBELLE];
     } else {
         $nom = $paramRowsFtaEtatAndFta[FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE];
     }
     if (count($paramArrayRoleWorkflow) > "1") {
         $menu_navigation = '<' . $paramHtmlTable . '><tr><td class=titre_principal> <div align=\'left\'>
                         ' . $identifiant . ' - ' . $nom . ' &nbsp;&nbsp;&nbsp;&nbsp;<i>(gérée par ' . $paramCreateur . ')</i></div>' . '<div align=\'left\'>' . $commentaire . '</div></td>' . '<td width=25% class=titre_principal>';
         if (self::$abreviation_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION) {
             $menu_navigation .= $paramRoleNavigation;
         }
         $menu_navigation .= '<br>  Site de Production : ' . $paramGeoModel->getDataField(GeoModel::FIELDNAME_GEO)->getFieldValue() . '<br>  Espace de Travail : ' . $paramRowsFtaEtatAndFta[FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW] . '</td></tr></table>
                  <' . $paramHtmlTable . '>
                        <tr class = titre>';
     } else {
         $menu_navigation = '<' . $paramHtmlTable . '><tr><td class=titre_principal> <div align=\'left\'>
                         ' . $identifiant . '- ' . $nom . ' &nbsp;&nbsp;&nbsp;&nbsp;<i>(gérée par ' . $paramCreateur . ')</i></div>' . '<div>' . $commentaire . '</div></td>' . '<td width=25% class=titre_principal>';
         if (self::$abreviation_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION) {
             $menu_navigation .= '  Rôle : ' . $paramFtaRoleModel->getDataField(FtaRoleModel::FIELDNAME_DESCRIPTION_FTA_ROLE)->getFieldValue();
         }
         $menu_navigation .= '<br>  Site de Production : ' . $paramGeoModel->getDataField(GeoModel::FIELDNAME_GEO)->getFieldValue() . '<br>  Espace de Travail : ' . $paramRowsFtaEtatAndFta[FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW] . '</td></tr></table>
                 <' . $paramHtmlTable . '>
                        <tr class = titre>';
     }
     return $menu_navigation;
 }
예제 #7
0
if ($globalConfig->getAuthenticatedUser()) {
    $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
} else {
    $titre = UserInterfaceMessage::FR_WARNING_DECONNECTION_TITLE;
    $message = UserInterfaceMessage::FR_WARNING_DECONNECTION;
    Lib::showMessage($titre, $message, $redirection);
}
$idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
/**
 * Contrôle du rôle attribué
 */
if ($idFtaRole == FtaRoleModel::ID_FTA_ROLE_COMMUN) {
    if ($abreviationFtaEtat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION) {
        $synthese_action = FtaEtatModel::ETAT_AVANCEMENT_VALUE_EN_COURS;
    }
    $arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, $idFtaWorkflow);
    $idFtaRole = $arrayIdFtaRoleAcces["0"];
}
$id_fta_chapitre = $id_fta_chapitre_encours;
/* * ***********
  Début Code PHP
 * *********** */
/*
 Initialisation des variables
*/
$page_default = substr(strrchr($_SERVER['PHP_SELF'], '/'), '1', '-4');
$page_action = 'modification_fiche.php';
$page_pdf = $page_default . '_pdf.php';
$action = 'valider';
//Action proposée à la page _post.php
$method = 'POST';
         $redirection = "index.php";
         Lib::showMessage($titre, $message, $redirection);
     } else {
         /**
          * On affecte un IdFtaRole seulement dans le cas ou on est vient de la page de recherche
          */
         if ($idFtaRole == FtaRoleModel::ID_FTA_ROLE_COMMUN) {
             $idFtaRole = $arrayIdFtaRoleAcces["0"];
         }
     }
 } elseif ($ftaModification) {
     /**
      * On affecte un IdFtaRole seulement dans le cas ou on est vient de la page de recherche
      */
     if ($idFtaRole == FtaRoleModel::ID_FTA_ROLE_COMMUN) {
         $arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, $idWorkflowFtaEncours);
         $idFtaRole = $arrayIdFtaRoleAcces["0"];
         if (!$arrayIdFtaRoleAcces and $idFtaEtat == FtaEtatModel::ID_VALUE_MODIFICATION) {
             $titre = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS_TITLE;
             $message = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS_WORKFLOW;
             $redirection = "index.php";
             Lib::showMessage($titre, $message, $redirection);
         } elseif (!$arrayIdFtaRoleAcces) {
             $idFtaRole = FtaRoleModel::ID_FTA_ROLE_COMMUN;
         }
     }
 }
 $affichgeDesChapitres = TRUE;
 Navigation::initNavigation($idFta, $id_fta_chapitre_encours, $synthese_action, $comeback, $idFtaEtat, $abreviationFtaEtat, $idFtaRole, $affichgeDesChapitres, FALSE, FALSE);
 $navigue = Navigation::getHtmlNavigationBar();
 /*
예제 #9
0
 public static function buildChapitreIdentite()
 {
     $bloc = '';
     $id_fta = self::$id_fta;
     $synthese_action = self::$synthese_action;
     $isEditable = self::$is_editable;
     //Identifiant FTA
     $ftaModel = new FtaModel($id_fta);
     $ftaModel->setDataFtaTableToCompare();
     $ftaView = new FtaView($ftaModel);
     $ftaView->setIsEditable($isEditable);
     $ftaView->setFtaChapitreModelById(self::ID_CHAPITRE_IDENTITE);
     /**
      * Ftaview indépendant pour les epace de travaille qui ne doitvent pas être éditables
      */
     $ftaView2 = new FtaView($ftaModel);
     $ftaView2->setIsEditable(self::NOT_EDITABLE);
     $ftaView2->setFtaChapitreModelById(self::ID_CHAPITRE_IDENTITE);
     /**
      * Verification des droits sur l'accès à des modifications
      */
     if (FtaRoleModel::isGestionnaire(self::$id_fta_role)) {
         $modifierGestionnaire = $ftaView->gestionnaireChangeList(self::EDITABLE, self::$id_fta_chapitre, $synthese_action, self::$comeback, self::$id_fta_etat, self::$abrevation_etat, self::$id_fta_role);
         $modifierEspaceDeTravail = $ftaView->workflowChangeList(self::EDITABLE, self::$id_fta_chapitre, $synthese_action, self::$comeback, self::$id_fta_etat, self::$abrevation_etat, self::$id_fta_role);
     } else {
         $modifierGestionnaire = "";
         $modifierEspaceDeTravail = "";
     }
     $bloc .= '<tr class=titre_principal><td class>Classification FTA</td></tr>';
     /**
      * Classification
      *
      */
     $bloc .= $ftaView->listeClassification($isEditable, self::$id_fta_chapitre, $synthese_action, self::$id_fta_etat, self::$abrevation_etat, self::$id_fta_role);
     //Raccoucis de classification
     $bloc .= $ftaView->getHtmlClassificationRaccourcisView();
     //Données lié à arcadia
     $bloc .= $ftaView2->getHtmlArcadiaDataNotEditable();
     $bloc .= $ftaView->getHtmlArcadiaDataVariableEditable();
     $bloc .= '<tr class=titre_principal><td class>Caractéristiques générales du produit</td></tr>';
     //Désignation commerciale
     $bloc .= $ftaView->getHtmlDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE);
     //Poids net de l’UVF
     $bloc .= $ftaView->getHtmlDataField(FtaModel::FIELDNAME_POIDS_ELEMENTAIRE);
     $bloc .= '<tr class=titre_principal><td class>Caractéristiques FTA</td></tr>';
     //Créateur
     $bloc .= $ftaView->getHtmlCreateurFta();
     $bloc .= $modifierGestionnaire;
     //Workflow de FTA
     //        $bloc.=$ftaView->ListeWorkflowByAcces(self::$idUser, FALSE, $id_fta, self::$id_fta_role);
     $bloc .= $ftaView2->getHtmlDataField(FtaModel::FIELDNAME_WORKFLOW);
     $bloc .= $modifierEspaceDeTravail;
     //Date d'échéance de la FTA
     $bloc .= $ftaView->getHtmlDateEcheance();
     //        //Date d'échéance des processus
     //        $bloc.=$ftaView->getHtmlDataField(FtaModel::FIELDNAME_VIRTUAL_FTA_PROCESSUS_DELAI);
     //Commentaire sur la Fta
     $bloc .= $ftaView->getHtmlDataField(FtaModel::FIELDNAME_COMMENTAIRE);
     //Code Article Arcadia Priamire ou Secondaire sur la Fta
     $bloc .= $ftaView->getHtmlCodeArticleArcadiaPrimaireSecondaire($isEditable, self::$id_fta_chapitre, $synthese_action, self::$comeback, self::$id_fta_etat, self::$abrevation_etat, self::$id_fta_role);
     if ($ftaView->isDataValidationSuccessful() == "0") {
         self::setDataValidationSuccessfulToTrue();
     }
     return $bloc;
 }
예제 #10
0
 /**
  * Mise à jour du pourcentage d'avancement d'un Fta
  */
 public function updateAvancementFta()
 {
     $idFta = $this->getKeyValue();
     $idFtaWorkflow = $this->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue();
     /**
      * Recalcul + stockage % Avancement
      */
     $taux_temp = FtaSuiviProjetModel::getArrayFtaTauxValidation($this, FALSE);
     $recap[$idFta] = round($taux_temp['0'] * '100', '0') . '%';
     $this->getDataField(FtaModel::FIELDNAME_POURCENTAGE_AVANCEMENT)->setFieldValue($recap[$idFta]);
     /**
      * Recalcul + stockage liste des services
      */
     $listeIdRole = FtaRoleModel::getListeIdFtaRoleEncoursByIdFta($idFta, $idFtaWorkflow);
     $this->getDataField(FtaModel::FIELDNAME_LISTE_ID_FTA_ROLE)->setFieldValue($listeIdRole);
     $this->saveToDatabase();
 }