/** * Liste des Rôles auxquelles l'utilisateur à accès pour un workflow donnée * @param int $paramIdUser * @param int $paramWorkflow * @param FtaModel $ftaModel * @param string $paramSytheseAction * @param int $paramIdftaChapitreEncours * @return string */ public static function getRolesNavigationBar($paramIdUser, $paramWorkflow, FtaModel $ftaModel, $paramSytheseAction, $paramIdftaChapitreEncours, $paramIdFtaRoleEncours) { //Variable $listeRole = array(); $arrayRoleWorkflow = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($paramIdUser, $paramWorkflow); //Calcul du taux $taux_temp = FtaSuiviProjetModel::getArrayFtaTauxValidation($ftaModel, TRUE); if ($taux_temp["1"]) { foreach ($taux_temp["1"] as $id_fta_processus => $taux) { /** * On obtient le rôle pour lequel le processus correspond */ $arrayCheckRole = FtaWorkflowStructureModel::getArrayRoleByProcessusAndWorkflow($id_fta_processus, $paramWorkflow); $checkRole1 = array_intersect($arrayCheckRole, $arrayRoleWorkflow); if ($checkRole1) { $checkRole2 = array_intersect($arrayCheckRole, $listeRole); if (!$checkRole2) { /** * 0 en attente * entre 0 et 1 cours * 1 validé */ $listeRole[] = $arrayCheckRole["0"]; /** * Mise en forme du rôle en cours */ if ($arrayCheckRole["0"] == $paramIdFtaRoleEncours) { $font_size = "size=" . Navigation::FONT_SIZE_ROLE_ENCOURS; $font_flash = "<font " . $font_size . ">"; $image_flash1 = $font_flash . '[ ' . "</font>"; $image_flash2 = $font_flash . ' ]' . "</font>"; } else { $font_size = ""; $image_flash1 = '- '; $image_flash2 = ' -'; } if ($taux == "0") { /** * Vérification que tous les processus précédent soit validé si oui le processus est encours */ $taux_validation_processus = FtaProcessusModel::getFtaProcessusNonValidePrecedent($ftaModel->getKeyValue(), $id_fta_processus, $paramWorkflow); if ($taux_validation_processus == "1" or $taux_validation_processus === NULL) { $ftaRoleModel = new FtaRoleModel($arrayCheckRole["0"]); $roles .= $image_flash1 . ' <a href=' . 'modification_fiche' . '.php?' . 'id_fta=' . $ftaModel->getKeyValue() . '&id_fta_chapitre_encours=' . $paramIdftaChapitreEncours . '&synthese_action=' . $paramSytheseAction . '&id_fta_etat=' . $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_ETAT)->getFieldValue() . '&abreviation_fta_etat=' . $ftaModel->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue() . '&id_fta_role=' . $arrayCheckRole["0"] . '>' . $ftaRoleModel->getDataField(FtaRoleModel::FIELDNAME_DESCRIPTION_FTA_ROLE)->getFieldValue() . '</a> ' . $image_flash2 . ' '; } else { $ftaRoleModel = new FtaRoleModel($arrayCheckRole["0"]); /** * Liien vers l'historique sans la navigation */ $roles .= $image_flash1 . $ftaRoleModel->getDataField(FtaRoleModel::FIELDNAME_DESCRIPTION_FTA_ROLE)->getFieldValue() . $image_flash2 . ' '; } } elseif ($taux == "1" or $taux != "0" and $taux != "1") { $ftaRoleModel = new FtaRoleModel($arrayCheckRole["0"]); $roles .= $image_flash1 . ' <a href=' . 'modification_fiche' . '.php?' . 'id_fta=' . $ftaModel->getKeyValue() . '&id_fta_chapitre_encours=' . $paramIdftaChapitreEncours . '&synthese_action=' . $paramSytheseAction . '&id_fta_etat=' . $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_ETAT)->getFieldValue() . '&abreviation_fta_etat=' . $ftaModel->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue() . '&id_fta_role=' . $arrayCheckRole["0"] . '>' . $ftaRoleModel->getDataField(FtaRoleModel::FIELDNAME_DESCRIPTION_FTA_ROLE)->getFieldValue() . '</a> ' . $image_flash2 . ' '; } } } } $RoleNavigation = ' Rôles ' . $roles; } return $RoleNavigation; }
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';
/** * Barre de naviagtion de la Fta * @param type $paramActivationComplete * @return string */ protected static function buildNavigationBar($paramActivationComplete) { //Variables $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $html_table = 'table ' . 'border=1 ' . 'width=100% ' . 'class=contenu '; if (self::$id_fta) { $checkIdFta = self::$ftaModel->getDataField(FtaModel::KEYNAME)->getFieldValue(); if (!$checkIdFta) { $titre = UserInterfaceMessage::FR_WARNING_PARAM_ID_FTA_TITLE; $message = UserInterfaceMessage::FR_WARNING_PARAM_ID_FTA_NOT_EXISTANT; $redirection = "index.php"; Lib::showMessage($titre, $message, $redirection); } } else { $titre = UserInterfaceMessage::FR_WARNING_PARAM_ID_FTA_TITLE; $message = UserInterfaceMessage::FR_WARNING_PARAM_ID_FTA; $redirection = "index.php"; Lib::showMessage($titre, $message, $redirection); } //Récupère la page en cours $arrayFtaEtatAndFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaModel::KEYNAME . ', ' . FtaModel::FIELDNAME_CREATEUR . ', ' . FtaModel::FIELDNAME_ARTICLE_AGROLOGIC . ', ' . FtaModel::FIELDNAME_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_LIBELLE . ', ' . FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE . ', ' . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . ', ' . FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . ', ' . FtaModel::FIELDNAME_COMMENTAIRE . ' FROM ' . FtaModel::TABLENAME . ',' . FtaEtatModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ' WHERE ' . FtaModel::KEYNAME . '=' . self::$id_fta . ' AND ' . FtaEtatModel::TABLENAME . '.' . FtaEtatModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_ID_FTA_ETAT . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW); /** * Liste des Rôles auxquelles l'utilisateur à accès pour un workflow donnée */ $arrayRoleWorkflow = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, self::$id_fta_workflow); if (count($arrayRoleWorkflow) > "1") { $RoleNavigation = FtaRoleModel::getRolesNavigationBar($idUser, self::$id_fta_workflow, self::$ftaModel, self::$synthese_action, self::$id_fta_chapitre_encours, self::$id_fta_role); } else { $ftaRoleModel = new FtaRoleModel(self::$id_fta_role); } $siteDeProduction = self::$ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); $geoModel = new GeoModel($siteDeProduction); foreach ($arrayFtaEtatAndFta as $rowsFtaEtatAndFta) { //Récupération des informations préalables //Nom de l'assistante de projet responsable: $userModel = new UserModel($rowsFtaEtatAndFta[FtaModel::FIELDNAME_CREATEUR]); $createur = $userModel->getPrenomNom(); //Construction du Menu $menu_navigation = self::buildMenu($arrayRoleWorkflow, $rowsFtaEtatAndFta, $html_table, $RoleNavigation, $geoModel, $createur, $ftaRoleModel); } if ($paramActivationComplete) { //Si une action est donnée, alors construction du menu des chapitres $menu_navigation .= self::CheckSyntheseAction(); } //Lien de retour rapide /** * Version avec le rewrite */ // self::$comeback_url = 'index-' . self::$id_fta_etat . '-' . self::$abreviation_etat . '-' . self::$id_fta_role . '-' . self::$synthese_action . '.html'; if (self::$comeback == "1") { // self::$comeback_url = 'index.php?id_fta_etat=' . self::$id_fta_etat . '&nom_fta_etat=' . self::$abreviation_etat . '&id_fta_role=' . self::$id_fta_role . '&synthese_action=' . self::$synthese_action; $_SESSION["comeback_url"] = $_SERVER["HTTP_REFERER"]; } elseif ($_SESSION["comeback_url"] == "") { $_SESSION["comeback_url"] = 'index.php?id_fta_etat=' . self::$id_fta_etat . '&nom_fta_etat=' . self::$abreviation_etat . '&id_fta_role=' . self::$id_fta_role . '&synthese_action=' . self::$synthese_action; } $menu_navigation .= '</tr><tr><td colspan=6 > <a href=' . $_SESSION["comeback_url"] . '><img src=../lib/images/bouton_retour.png alt=\'\' title=\'Retour\' width=\'18\' height=\'15\' border=\'0\' /> Retour</a> | '; if ($paramActivationComplete) { //Corps du menu $accesTransitionButton = FtaTransitionModel::isAccesTransitionButton(self::$id_fta_role, self::$id_fta_workflow); $idIntranetActionsSiteDeProduction = FtaActionSiteModel::getArrayIdIntranetActionByWorkflowAndSiteDeProduction(self::$id_fta_workflow, $siteDeProduction); $checkAccesButtonBySiteProd = IntranetActionsModel::isAccessFtaActionByIdUserFtaWorkflowAndSiteDeProduction($idUser, self::$id_fta_workflow, $idIntranetActionsSiteDeProduction); $tauxRound = FtaSuiviProjetModel::getPourcentageFtaTauxValidation(self::$ftaModel); /** * Bouton de trasition */ $transition = TableauFicheView::getHmlLinkTransiter(self::$id_fta, self::$id_fta_role, self::$abreviation_etat, $checkAccesButtonBySiteProd, $accesTransitionButton, self::$synthese_action, $tauxRound, "18", " Transiter"); /** * Bouton d'accès au rendu PDF de la FTA */ $pdf = TableauFicheView::getHtmlLinkPDF(self::$abreviation_etat, self::$id_fta, self::$id_fta_workflow, "18", "Export PDF"); if ($transition) { $transition = " | " . $transition; } if ($pdf) { $pdf = " | " . $pdf; } $historique = " | " . TableauFicheView::getHtmlLinkHistoriqueModfify(self::$abreviation_etat, self::$id_fta, self::$synthese_action, self::$id_fta_etat, self::$id_fta_role, "18", "Historique de modification"); $menu_navigation .= ' <a href=historique-' . self::$id_fta . '-' . self::$id_fta_chapitre_encours . '-' . self::$id_fta_etat . '-' . self::$abreviation_etat . '-' . self::$id_fta_role . '-' . self::$synthese_action . '.html ><img src=./images/graphique.png alt=\'\' title=\'Etat d\'avancement\' width=\'18\' height=\'15\' border=\'0\' /> Etat d\'avancement</a>' . $historique . ' | <a href=fta2arcadia_summary.php?' . FtaModel::KEYNAME . '=' . self::$id_fta . '&id_fta_chapitre_encours=' . self::$id_fta_chapitre_encours . '&' . FtaEtatModel::KEYNAME . '=' . self::$id_fta_etat . '&' . FtaEtatModel::FIELDNAME_ABREVIATION . '=' . self::$abreviation_etat . '&' . FtaRoleModel::KEYNAME . '=' . self::$id_fta_role . '&synthese_action=' . self::$synthese_action . ' ><img src=./images/icone_information.png alt=\'\' title=\'Fta2Arcadia width=\'18\' height=\'15\' border=\'0\' /> Fta2Arcadia</a>' . $transition . $pdf . ' </td></tr> </table> '; } return $menu_navigation; //return $return raplacera menu_navigation; }
$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(); /*