public static function isIdUserHaveRightsOnSiteProdByWorkflow($paramIdUser, $paramIdFtaWorkflow, $paramIdFtaSiteDeProduction)
 {
     $isIdUserHaveRightsOnSiteProd = FALSE;
     /**
      * On obtient IdintranetAction du site de production
      */
     $idIntranetActionsSiteDeProduction = FtaActionSiteModel::getArrayIdIntranetActionByWorkflowAndSiteDeProduction($paramIdFtaWorkflow, $paramIdFtaSiteDeProduction);
     /**
      * 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($paramIdUser, $paramIdFtaWorkflow, $idIntranetActionsSiteDeProduction);
     if ($checkAccesButtonBySiteProd) {
         $isIdUserHaveRightsOnSiteProd = TRUE;
     }
     return $isIdUserHaveRightsOnSiteProd;
 }
 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 .= '&nbsp;
         <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;
 }
 /**
  * Tableau des id intranet actions gestionnaire selon l'espace de travail et le site de production  
  * @param int $paramWorkflow
  * @param int $paramSiteDeProd
  * @return array
  */
 public static function getArrayIdIntranetActionByWorkflowAndSiteDeProdAndGestionnaire($paramWorkflow, $paramSiteDeProd)
 {
     /**
      *  Nous recuperons le tableau des id intranet actions selon l'espace de travail  et le role (gestionnaire) 
      */
     $arrayIdIntranetActionsGestionnaire = FtaActionRoleModel::getArrayIdIntranetActionsByWorkflowAndGestionnaire($paramWorkflow);
     /**
      * Nous recuperons le tableau des id intranet actions selon l'espace de travail et le site de production
      */
     $arrayIdIntranetActionsSiteDeProd = FtaActionSiteModel::getArrayIdIntranetActionsByWorkflowAndSiteDeProd($paramWorkflow, $paramSiteDeProd);
     $arrayIdIntranetActions = array_merge($arrayIdIntranetActionsGestionnaire, $arrayIdIntranetActionsSiteDeProd);
     return $arrayIdIntranetActions;
 }
Example #4
0
 /**
  * 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;
 }