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; }