public static function getHtmlTable($paramIdFta, $paramChoix, $paramResultLimitByPage = self::DEFAULT_RESULT_LIMIT_BY_PAGE, $paramOrderCommon = NULL) { /* * Déclaration des variables locales */ $largeur_html_C1 = self::HTML_CELL_WIDTH_C1; // largeur cellule type $largeur_html_C3 = self::HTML_CELL_WIDTH_C3; // largeur cellule type $compteur_ligne = 1; $selection_width = self::HTML_CELL_WIDTH_SELECTION; $lien = ""; $tableau_fiches = "<table class=titre width=100% border=0>" . "<tr class=titre_principal><td></td><td>"; $synthese_action = "all"; /* * Initilisation */ $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $idFtaRole = FtaRoleModel::getKeyNameOfFirstRoleByIdUser($idUser); $ftaModel = new FtaModel($paramIdFta); //Chargement manuel des données pour optimiser les performances $abreviation_fta_etat = $ftaModel->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue(); $LIBELLE = $ftaModel->getDataField(FtaModel::FIELDNAME_LIBELLE)->getFieldValue(); $NB_UNIT_ELEM = $ftaModel->getDataField(FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON)->getFieldValue(); $Poids_ELEM = $ftaModel->getDataField(FtaModel::FIELDNAME_POIDS_ELEMENTAIRE)->getFieldValue(); $suffixe_agrologic_fta = $ftaModel->getModelClassificationRacourcis()->getNameRaccourcisClassif(); $designation_commerciale_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue(); $id_dossier_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_DOSSIER_FTA)->getFieldValue(); $id_version_dossier_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_VERSION_DOSSIER_FTA)->getFieldValue(); $code_article_ldc = $ftaModel->getDataField(FtaModel::FIELDNAME_CODE_ARTICLE_LDC)->getFieldValue(); $dateEcheanceFtatmp = $ftaModel->getDataField(FtaModel::FIELDNAME_DATE_ECHEANCE_FTA)->getFieldValue(); $createur_nom = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_NOM)->getFieldValue(); $createur_prenom = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_PRENOM)->getFieldValue(); $workflowName = $ftaModel->getModelFtaWorkflow()->getDataField(FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW)->getFieldValue(); $idWorkflowFtaEncours = $ftaModel->getModelFtaWorkflow()->getKeyValue(); $nomSiteProduction = $ftaModel->getModelSiteProduction()->getDataField(GeoModel::FIELDNAME_GEO)->getFieldValue(); $idclassification = $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->getFieldValue(); $listeIdFtaRole = $ftaModel->getDataField(FtaModel::FIELDNAME_LISTE_ID_FTA_ROLE)->getFieldValue(); $idSiteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); $idFtaEtat = $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_ETAT)->getFieldValue(); /** * Changment du format de date en Fr */ $dateEcheanceFta = FtaController::changementDuFormatDeDateFR($dateEcheanceFtatmp); /** * On obtient IdintranetAction du site de production */ $idIntranetActionsSiteDeProduction = FtaActionSiteModel::getArrayIdIntranetActionByWorkflowAndSiteDeProduction($idWorkflowFtaEncours, $idSiteDeProduction); /** * On verifie si selon le workflow et site de production en cours l'utilisateur connecté à les droits d'accès. * Puisqu'un utilisateur ne doit pas avoir accès aux boutons : * historique, transition, retirer, duplication et pourcentage d'avancement * si il n'a pas les accès aux site de production. */ $checkAccesButtonBySiteProd = IntranetActionsModel::isAccessFtaActionByIdUserFtaWorkflowAndSiteDeProduction($idUser, $idWorkflowFtaEncours, $idIntranetActionsSiteDeProduction); /** * Donne accès aux bouton de transition * pour les utilisateur se trouvant en fin de parcours de l'espace de travail */ $accesTransitionButton = FtaTransitionModel::isAccesTransitionButton($idFtaRole, $idWorkflowFtaEncours); /* * Attribution des couleurs de fonds suivant l'état de la FTA */ $bgcolor = self::getHtmlCellBgColor($abreviation_fta_etat); $bgcolorArcadia = self::getHtmlCellBgColorArcadia($paramIdFta, $bgcolor); $tauxRound = FtaSuiviProjetModel::getPourcentageFtaTauxValidation($ftaModel); /** * Lien vers l'historique de la Fta */ $lienHistorique = self::getHtmlLinkHistorique($abreviation_fta_etat, $paramIdFta, FtaRoleModel::ID_FTA_ROLE_COMMUN, $synthese_action, $tauxRound, $checkAccesButtonBySiteProd, $idFtaEtat); /** * Gestion des icones en fonction des délais */ $bgcolor_header = self::getHtmlBgColorIconHeader($abreviation_fta_etat, $paramIdFta); $icon_header = self::getHtmlIconEcheanceByEtatAndFta($abreviation_fta_etat, $paramIdFta); /** * Bouton d'accès au détail de la FTA */ $lien .= self::getHtmlLinkModify($abreviation_fta_etat, $paramIdFta, $synthese_action, $idFtaEtat, $checkAccesButtonBySiteProd); /** * Historique de modification */ $lien .= self::getHtmlLinkHistoriqueModfify($abreviation_fta_etat, $paramIdFta, $synthese_action, $idFtaEtat); /** * Bouton d'accès au rendu PDF de la FTA */ $lien .= self::getHtmlLinkPDF($abreviation_fta_etat, $paramIdFta, $idWorkflowFtaEncours); /** * Bouton d'accès à la transition */ $lien .= self::getHmlLinkTransiter($paramIdFta, $idFtaRole, $abreviation_fta_etat, $checkAccesButtonBySiteProd, $accesTransitionButton, $synthese_action, $tauxRound); /** * Bouton d'accès pour retirer une FTA */ if (FtaRoleModel::isGestionnaire($idFtaRole) and $checkAccesButtonBySiteProd and $abreviation_fta_etat != FtaEtatModel::ETAT_ABREVIATION_VALUE_RETIRE) { $lien .= self::getHtmlLinkRemoveFta($paramIdFta); $javascript .= self::getJavascriptLinkRemoveFta($paramIdFta, $idFtaRole, $synthese_action); } /** * Bouton d'accès pour dupliquer une FTA */ if (FtaRoleModel::isGestionnaire($idFtaRole) and $checkAccesButtonBySiteProd) { $lien .= self::getHtmlLinkDuplicateFta($paramIdFta, $idFtaRole); } //Désignation commerciale $din = self::getStringDINCompacted($designation_commerciale_fta, $LIBELLE, $NB_UNIT_ELEM, $Poids_ELEM); /* * Noms des services dans lequel la Fta se trouve */ $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // switch (TRUE) { // /** // * Si la FTA est en modification et que l'utilisateur n'est pas autorisé à accéder aux boutons. // */ // case ( // $abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION AND $checkAccesButton != FALSE // ): // $service = ""; // break; // // /** // * Si la FTA est en modification et que l'utilisateur est autorisé à accéder aux boutons. // */ // case ( // $abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION AND $checkAccesButton != TRUE // ): // $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // break; // /** // * Sinon: // */ // default: // $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // } /** * Calssification */ if ($idclassification) { $classification = ClassificationArborescenceArticleCategorieContenuModel::getElementClassificationFta($idclassification, ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_GROUPE); } //Nom de l'assistante de projet responsable: $createur_link = "\"Géré par {$createur_prenom} {$createur_nom}\""; $tableau_fiches .= "<tr class=contenu>\r\n <td {$bgcolor_header} " . $selection_width . " > {$icon_header} {$selection}</td>\r\n "; $tableau_fiches .= '<td ' . $bgcolor . ' width=8%>' . $nomSiteProduction . '<br>(' . $workflowName . ')</td>' . '<td ' . $bgcolor . ' width=3%>' . $classification . '</td>' . '<td ' . $bgcolor . ' width=3%>' . $suffixe_agrologic_fta . '</td>'; // Raccourcie Class. $tableau_fiches .= "<td {$bgcolor} {$largeur_html_C1}><a title={$createur_link} />" . $din . "</a></td>" . "<td {$bgcolor} width=3%>" . $id_dossier_fta . "v" . $id_version_dossier_fta . "</td>"; $tableau_fiches .= "<td {$bgcolorArcadia} width=\"1%\"> <b><font size=\"2\" color=\"#0000FF\">" . $code_article_ldc . "</font></b></td>"; if ($abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION) { $tableau_fiches .= '<td ' . $bgcolor . $largeur_html_C3 . ' align=center>' . $dateEcheanceFta . '</td>'; //échance de validation } else { $tableau_fiches .= '<td ' . $bgcolor . $largeur_html_C3 . ' align=center>' . $dateEcheanceFta . '</td>'; //échance de validation } $tableau_fiches .= '<td ' . $bgcolor . ' width=5% align=center >' . $lienHistorique . '</td>' . '<td ' . $bgcolor . $largeur_html_C3 . ' align=center >' . $service . '</td>' . '<td ' . $bgcolor . ' width=8%' . ' align=center >' . $lien . '</td>'; // Actions $tableau_fiches .= "</tr>"; $compteur_ligne++; // }//fin tant que tableau_origine $tableau_fiches = $javascript . $tableau_fiches . "</table>"; //Ajoute de la fonction de traitement de masse if ($traitementDeMasse) { $liste_action_groupe = FtaTransitionModel::getListeFtaGrouper($abreviation_fta_etat); $tableau_fiches .= ' <img src = ../lib/images/fleche_gauche_et_haut.png width = 38 height = 22 border = 0 /> <i>Transitions groupées</i>: ' . $liste_action_groupe . ' <input type = \'text\' name=\'subject\' size=\'20\' /> <input type=image src=images/transiter.png width=20 height=20 /> <input type=hidden name=action value=transition_groupe> '; } return $tableau_fiches; }
/** * 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; }