/** * 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; }
$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 -----------------
/** * 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; }
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 */
/** * 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 . ' <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 . ' <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; }
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(); /*
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; }
/** * 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(); }