From d826b993c30546510f6a09493cb5903d57dfe501 Mon Sep 17 00:00:00 2001
From: Alex Orluc <alex.orluc@maarch.org>
Date: Wed, 15 Mar 2017 15:49:08 +0100
Subject: [PATCH] FEAT #3932 add positino number and certificate icon for visa
 sign

---
 .../avis/class/avis_controler_Abstract.php    |   5 +-
 modules/avis/js/functions.js                  |  10 +-
 .../class/class_modules_tools_Abstract.php    |  12 +-
 modules/visa/js/functions.js                  |  35 ++-
 modules/visa/lang/fr.php                      | 288 +++++++++---------
 5 files changed, 185 insertions(+), 165 deletions(-)

diff --git a/modules/avis/class/avis_controler_Abstract.php b/modules/avis/class/avis_controler_Abstract.php
index c0e73a7a4a2..60cf88e1988 100755
--- a/modules/avis/class/avis_controler_Abstract.php
+++ b/modules/avis/class/avis_controler_Abstract.php
@@ -62,7 +62,7 @@ abstract class avis_controler_Abstract
             $str .= '<option value="" ></option>';
 
             $tab_userentities = $this->getEntityAvis();
-            /** Order by parent entity * */
+            //Order by parent entity
             foreach ($tab_userentities as $key => $value) {
                 $str .= '<optgroup label="' . $tab_userentities[$key]['entity_id'] . '">';
                 $tab_users = $this->getUsersAvis($tab_usergroups[$key]['group_id']);
@@ -81,7 +81,7 @@ abstract class avis_controler_Abstract
             $str .= 'new Chosen($(\'avisUserList\'),{width: "250px", disable_search_threshold: 10});';
             $str .= '</script>';
 
-            require_once("modules/entities/class/class_manage_listdiff.php");
+            include_once "modules/entities/class/class_manage_listdiff.php";
             $diff_list = new diffusion_list();
             $listModels = $diff_list->select_listmodels($typeList);
 
@@ -157,6 +157,7 @@ abstract class avis_controler_Abstract
                     $str .= '<i class="fa fa-' . $link_vis . '" aria-hidden="true"></i>';
                     $str .= '</span>';
                     $str .= '<span class="avisUserInfo">';
+                    $str .= '<sup class="avisUserPos nbResZero">'.$i.'</sup>&nbsp;&nbsp;';
                     $str .= '<i class="fa fa-user fa-2x" aria-hidden="true"></i> ' . $info_userAvis['lastname'] . ' ' . $info_userAvis['firstname'] . ' <sup class="nbRes">' . $info_userAvis['entity_id'] . '</sup>' . $info_vised;
                     $str .= '</span>';
                     $str .= '<span class="avisUserConsigne">';
diff --git a/modules/avis/js/functions.js b/modules/avis/js/functions.js
index 86fb6083e0e..4b84d466751 100755
--- a/modules/avis/js/functions.js
+++ b/modules/avis/js/functions.js
@@ -10,6 +10,7 @@ function addAvisUser(users) {
                 + '<i class="fa fa-hourglass" aria-hidden="true"></i>'
                 + '</span>'
                 + '<span class="avisUserInfo">'
+                +'<sup class="avisUserPos nbResZero">'+next_avis+'</sup>&nbsp;&nbsp;'
                 + '<i class="fa fa-user fa-2x" aria-hidden="true"></i> ' + $j("select#avisUserList option:selected").text() + ' <sup class="nbRes">' + $j("select#avisUserList option:selected").parent().get(0).label + '</sup>'
                 + '<input class="userId" type="hidden" value="' + $j("select#avisUserList option:selected").val() + '"/><input class="avisDate" type="hidden" value=""/>'
                 + '</span>'
@@ -38,6 +39,7 @@ function addAvisUser(users) {
                 + '<i class="fa fa-hourglass" aria-hidden="true"></i>'
                 + '</span>'
                 + '<span class="avisUserInfo">'
+                +'<sup class="avisUserPos nbResZero">'+next_avis+'</sup>&nbsp;&nbsp;'
                 + '<i class="fa fa-user fa-2x" aria-hidden="true"></i> ' + users.lastname + ' ' + users.firstname + ' <sup class="nbRes">' + users.entity_id + '</sup>'
                 + '<input class="userId" type="hidden" value="' + users.user_id + '"/><input class="avisDate" type="hidden" value=""/>'
                 + '</span>'
@@ -53,6 +55,7 @@ function addAvisUser(users) {
                 + '</div>');
 
     }
+    resetPosAvis();
 }
 function delAvisUser(target) {
     console.log(target);
@@ -67,10 +70,11 @@ function delAvisUser(target) {
 
 }
 function resetPosAvis() {
-    $i = 1;
+    i = 1;
     $j(".droptarget").each(function () {
-        this.id = 'avis_' + $i;
-        $i++;
+        this.id = 'avis_' + i;
+        $j("#" + this.id).find(".avisUserPos").text(i);
+        i++;
     });
 }
 function updateAvisWorkflow(resId) {
diff --git a/modules/visa/class/class_modules_tools_Abstract.php b/modules/visa/class/class_modules_tools_Abstract.php
index e11c163f2b1..0d0966af79f 100644
--- a/modules/visa/class/class_modules_tools_Abstract.php
+++ b/modules/visa/class/class_modules_tools_Abstract.php
@@ -597,8 +597,10 @@ abstract class visa_Abstract extends Database
                         	$str .= '<i class="fa fa-'.$link_vis.'" aria-hidden="true"></i>';
 						$str .= '</span>';
                         $str .= '<span class="visaUserInfo">';
-                        	$str .= '<i class="fa fa-user fa-2x" aria-hidden="true"></i> '.$info_userVis['lastname'].' '.$info_userVis['firstname'].' <sup class="nbRes">'.$info_userVis['entity_id'].'</sup>'.$info_vised;
-                    	$str .= '</span>';
+							$str .= '<sup class="visaUserPos nbResZero">'.$i.'</sup>&nbsp;&nbsp;';
+                        	$str .= '<i class="fa fa-user fa-2x" aria-hidden="true"></i> '.$info_userVis['lastname'].' '.$info_userVis['firstname'].' <sup class="nbRes">'.$info_userVis['entity_id'].'</sup>';
+							$str .= '&nbsp;&nbsp; <i title="'._SIGN_USER.'" class="visaUserSign fa fa-certificate" aria-hidden="true" style="color:#FDD16C;visibility:hidden;"></i>'.$info_vised;	
+						$str .= '</span>';
                     	$str .= '<span class="visaUserConsigne">';
                     		$str .= '<input class="userId" type="hidden" value="'.$info_userVis['user_id'].'"/><input class="visaDate" type="hidden" value="'.$info_userVis['process_date'].'"/><input'.$disabled.' class="consigne" type="text" value="'.$info_userVis['process_comment'].'"/>';
                     	$str .= '</span>';
@@ -663,8 +665,10 @@ abstract class visa_Abstract extends Database
                     	$str .= '<i class="fa fa-'.$link_vis.'" aria-hidden="true"></i>';
 					$str .= '</span>';
                     $str .= '<span class="visaUserInfo">';
-                    	$str .= '<i class="fa fa-user fa-2x" aria-hidden="true"></i> '.$info_userSign['lastname'].' '.$info_userSign['firstname'].' <sup class="nbRes">'.$info_userSign['entity_id'].'</sup>'.$info_vised;
-                	$str .= '</span>';
+						$str .= '<sup class="visaUserPos nbResZero">'.$i.'</sup>&nbsp;&nbsp;';
+                    	$str .= '<i class="fa fa-user fa-2x" aria-hidden="true"></i> '.$info_userSign['lastname'].' '.$info_userSign['firstname'].' <sup class="nbRes">'.$info_userSign['entity_id'].'</sup>';
+						$str .= '&nbsp;&nbsp; <i title="'._SIGN_USER.'" class="visaUserSign fa fa-certificate" aria-hidden="true" style="color:#FDD16C"></i>'.$info_vised;
+					$str .= '</span>';
                 	$str .= '<span class="visaUserConsigne">';
                 		$str .= '<input class="userId" type="hidden" value="'.$info_userSign['user_id'].'"/><input class="visaDate" type="hidden" value="'.$info_userSign['process_date'].'"/><input'.$disabled.' class="consigne" type="text" value="'.$info_userSign['process_comment'].'"/>';
                 	$str .= '</span>';
diff --git a/modules/visa/js/functions.js b/modules/visa/js/functions.js
index 322852b2b7d..8ab7385edf3 100644
--- a/modules/visa/js/functions.js
+++ b/modules/visa/js/functions.js
@@ -11,6 +11,7 @@ function addVisaUser(users) {
                 +'<i class="fa fa-hourglass" aria-hidden="true"></i>'
             +'</span>'
             +'<span class="visaUserInfo">'
+                +'<sup class="visaUserPos nbResZero">'+next_visa+'</sup>&nbsp;&nbsp;'
                 +'<i class="fa fa-user fa-2x" aria-hidden="true"></i> '+ $j("select#visaUserList option:selected").text() +' <sup class="nbRes">'+$j("select#visaUserList option:selected").parent().get( 0 ).label+'</sup>'
                 +'<input class="userId" type="hidden" value="' + $j("select#visaUserList option:selected").val() + '"/><input class="visaDate" type="hidden" value=""/>'
             +'</span>'
@@ -39,8 +40,10 @@ function addVisaUser(users) {
                 +'<i class="fa fa-hourglass" aria-hidden="true"></i>'
             +'</span>'
             +'<span class="visaUserInfo">'
+                +'<sup class="visaUserPos nbResZero">'+next_visa+'</sup>&nbsp;&nbsp;'
                 +'<i class="fa fa-user fa-2x" aria-hidden="true"></i> ' + users.lastname + ' ' + users.firstname + ' <sup class="nbRes">'+users.entity_id+'</sup>'
                 +'<input class="userId" type="hidden" value="' + users.user_id + '"/><input class="visaDate" type="hidden" value=""/>'
+                +'&nbsp;&nbsp; <i title="Personne signataire" class="visaUserSign fa fa-certificate" aria-hidden="true" style="color:#FDD16C;visibility:hidden;"></i>'
             +'</span>'
             +'<span class="visaUserConsigne">'
                 +'<input type="text" class="consigne" value="' + users.process_comment + '"/>'
@@ -54,25 +57,29 @@ function addVisaUser(users) {
         +'</div>');
         
     }
+    resetPosVisa();
 }
-function delVisaUser (target) {
-    console.log(target);
-  var id = '#'+target.id;
-    
-  if($j(".droptarget").length == 1){
-      $j("#emptyVisa").show(); 
-  }
-  $j(id).remove();
-  
-  resetPosVisa();
-  
+function delVisaUser(target) {
+    var id = '#' + target.id;
+
+    if ($j(".droptarget").length == 1) {
+        $j("#emptyVisa").show();
+    }
+    $j(id).remove();
+
+    resetPosVisa();
+
 }
 function resetPosVisa () {
-    $i = 1;
+    $j(".visaUserSign").css("visibility","hidden");
+    i = 1;
     $j(".droptarget").each(function() {
-        this.id = 'visa_' + $i;
-        $i++;
+        this.id = 'visa_' + i;
+        $j("#" + this.id).find(".visaUserPos").text(i);
+        i++;
     });
+    i--
+    $j("#visa_" + i).find(".visaUserSign").css("visibility","visible");
 }
 function updateVisaWorkflow(resId) {
     var $i = 0;
diff --git a/modules/visa/lang/fr.php b/modules/visa/lang/fr.php
index 74f44f329ba..e31c1635a99 100644
--- a/modules/visa/lang/fr.php
+++ b/modules/visa/lang/fr.php
@@ -1,142 +1,146 @@
-<?php
-if (!defined("_SIGN_DOCS"))
-    define("_SIGN_DOCS", "Signer les documents");
-
-if (!defined("_PRINTFOLDER"))
-    define("_PRINTFOLDER", "Dossier d'impression");
-
-if (!defined("_PRINT_FOLDER_DOC"))
-    define("_PRINT_FOLDER_DOC", "Imprimer le dossier complet");
-
-if (!defined("_NO_PDF_FILE"))
-    define("_NO_PDF_FILE", "Aucun PDF présent pour ce fichier");
-
-// CIRCUIT DE VISA
-if (!defined("_VISA_WORKFLOW"))
-    define("_VISA_WORKFLOW", "Circuit de visa");
-if (!defined("_INTERRUPT_WORKFLOW"))
-    define("_INTERRUPT_WORKFLOW", "Interrompre le circuit de visa");
-if (!defined("_VISA_WORKFLOW_COMMENT"))   
-	define("_VISA_WORKFLOW_COMMENT", "Gestion du circuit de visa");
-if (!defined("_VIEW_VISA_WORKFLOW"))
-    define("_VIEW_VISA_WORKFLOW", "Visualisation du circuit de visa");
-if (!defined("_VIEW_VISA_WORKFLOW_DESC"))
-    define("_VIEW_VISA_WORKFLOW_DESC", "Permet de visualiser le circuit de visa dans les parties de liste de diffusion et dans celles d'avancement.");
-if (!defined("_CONFIG_VISA_WORKFLOW"))
-    define("_CONFIG_VISA_WORKFLOW", "Configuration du circuit de visa");
-if (!defined("_CONFIG_VISA_WORKFLOW_DESC"))
-    define("_CONFIG_VISA_WORKFLOW_DESC", "Permet de configurer le circuit de visa que devra prendre le courrier");
-if (!defined("_EMPTY_USER_LIST"))
-    define("_EMPTY_USER_LIST", "La liste des utilisateurs est vide");
-if (!defined("_EMPTY_VISA_WORKFLOW"))
-    define("_EMPTY_VISA_WORKFLOW", "Aucun circuit de visa paramétré");
-if (!defined("_VISA_ANSWERS"))
-    define("_VISA_ANSWERS", "Viser les projets de réponse");
-	
-if (!defined("_VISA_ANSWERS_DESC"))
-    define("_VISA_ANSWERS_DESC", "Permet de viser les projets de réponse");
-
-if (!defined("_NO_VISA"))
-    define("_NO_VISA", "Aucune personne désignée en visa");
-if (!defined("_NO_RESPONSE_PROJECT_VISA"))
-    define("_NO_RESPONSE_PROJECT_VISA", "Veuillez au moins créer une pièce jointe et l'éditer");
-if (!defined("_NO_CONVERTED_PDF_VISA"))
-    define("_NO_CONVERTED_PDF_VISA", "Veuillez éditer votre/vos pièce(s) jointe(s)");
-if (!defined("_PLEASE_CONVERT_PDF_VISA"))
-    define("_PLEASE_CONVERT_PDF_VISA", "Veuillez éditer les pièces jointes suivantes : ");
-
-// CIRCUIT D"AVIS
-if (!defined("_AVIS_WORKFLOW"))
-    define("_AVIS_WORKFLOW", "Circuit d'avis");
-if (!defined("_CONFIG_AVIS_WORKFLOW"))
-    define("_CONFIG_AVIS_WORKFLOW", "Configuration du circuit d'avis");
-if (!defined("_CONFIG_AVIS_WORKFLOW_DESC"))
-    define("_CONFIG_AVIS_WORKFLOW_DESC", "Permet de configurer le circuit d'avis du courrier");
-
-if (!defined("_THUMBPRINT"))
-    define("_THUMBPRINT", "Empreinte numérique");
-
-if (!defined("_DISSMARTCARD_SIGNER_APPLET"))
-    define("_DISSMARTCARD_SIGNER_APPLET", "Signature électronique en cours...");
-
-
-if (!defined("_IMG_SIGN_MISSING"))
-    define("_IMG_SIGN_MISSING", "Image de signature manquante");
-
-if (!defined("_THUMBPRINT_MISSING"))
-    define("_THUMBPRINT_MISSING", "Empreinte numérique manquante");
-
-if (!defined("_SEND_TO_SIGNATURE"))
-    define("_SEND_TO_SIGNATURE", "Soumettre");
-
-if (!defined("_SUBMIT_COMMENT"))
-    define("_SUBMIT_COMMENT", "Commentaire de visa (optionnel) ");
-
-if (!defined("_NO_FILE_PRINT"))
-    define("_NO_FILE_PRINT", "Aucun fichier à imprimer");
-
-if (!defined("_BAD_PIN"))
-    define("_BAD_PIN", "Code PIN incorrect. Attention, 3 essais maximum !");
-
-if (!defined("_PRINT_DOCUMENT"))
-    define("_PRINT_DOCUMENT", "Afficher et imprimer le document");
-
-if (!defined("_VISA_BY"))
-    define("_VISA_BY", "Visa par");
-
-if (!defined("_INSTEAD_OF"))
-    define("_INSTEAD_OF", "A la place de");
-
-if (!defined("_CONFIG_VISA_WORKFLOW_IN_DETAIL"))
-    define("_CONFIG_VISA_WORKFLOW_IN_DETAIL", "Configuration du circuit de visa depuis la fiche détaillée");
-
-if (!defined("_CONFIG_VISA_WORKFLOW_DESC"))
-    define("_CONFIG_VISA_WORKFLOW_DESC", "Permet de configurer le circuit de visa depuis la fiche détaillée");
-
-if (!defined("_WAITING_FOR_SIGN"))
-    define("_WAITING_FOR_SIGN", "En attente de la signature");
-
-if (!defined("_SIGNED"))
-    define("_SIGNED", "Signé");
-
-if (!defined("_WAITING_FOR_VISA"))
-    define("_WAITING_FOR_VISA", "En attente du visa");
-
-if (!defined("_VISED"))
-    define("_VISED", "Visé");
-
-if (!defined("DOWN_USER_WORKFLOW"))
-    define("DOWN_USER_WORKFLOW", "Déplacer l'utilisateur vers le bas");
-
-if (!defined("UP_USER_WORKFLOW"))
-    define("UP_USER_WORKFLOW", "Déplacer l'utilisateur vers le haut");
-
-if (!defined("ADD_USER_WORKFLOW"))
-    define("ADD_USER_WORKFLOW", "Ajouter un utilisateur dans le circuit");
-
-if (!defined("DEL_USER_WORKFLOW"))
-    define("DEL_USER_WORKFLOW", "Retirer l'utilisateur du circuit");
-
-if (!defined("_NO_NEXT_STEP_VISA"))
-    define("_NO_NEXT_STEP_VISA", "Impossible d'effectuer cette action. Le circuit ne contient pas d'étape supplémentaire.");
-
-if (!defined("_VISA_USERS"))
-    define("_VISA_USERS", "Personne(s) pour visa / signature");
-
-if (!defined("_TMP_SIGNED_FILE_FAILED"))
-    define("_TMP_SIGNED_FILE_FAILED", "Echec de la génération document avec signature");
-
-if (!defined("_ENCRYPTED"))
-    define("_ENCRYPTED", "crypté");
-
-if (!defined("_VISA_USER_COU"))
-    define("_VISA_USER_COU", "Vous êtes l'actuel viseur");
-
-if (!defined("_VISA_USER_COU_DESC"))
-    define("_VISA_USER_COU_DESC", "Vous visez à la place de");
-
-if (!defined("_SIGN_USER_COU"))
-    define("_SIGN_USER_COU", "Vous êtes l'actuel signataire");
-
-if (!defined("_SIGN_USER_COU_DESC"))
-    define("_SIGN_USER_COU_DESC", "Vous signez à la place de");
\ No newline at end of file
+<?php
+
+if (!defined("_SIGN_DOCS"))
+    define("_SIGN_DOCS", "Signer les documents");
+
+if (!defined("_PRINTFOLDER"))
+    define("_PRINTFOLDER", "Dossier d'impression");
+
+if (!defined("_PRINT_FOLDER_DOC"))
+    define("_PRINT_FOLDER_DOC", "Imprimer le dossier complet");
+
+if (!defined("_NO_PDF_FILE"))
+    define("_NO_PDF_FILE", "Aucun PDF présent pour ce fichier");
+
+// CIRCUIT DE VISA
+if (!defined("_VISA_WORKFLOW"))
+    define("_VISA_WORKFLOW", "Circuit de visa");
+if (!defined("_INTERRUPT_WORKFLOW"))
+    define("_INTERRUPT_WORKFLOW", "Interrompre le circuit de visa");
+if (!defined("_VISA_WORKFLOW_COMMENT"))   
+    define("_VISA_WORKFLOW_COMMENT", "Gestion du circuit de visa");
+if (!defined("_VIEW_VISA_WORKFLOW"))
+    define("_VIEW_VISA_WORKFLOW", "Visualisation du circuit de visa");
+if (!defined("_VIEW_VISA_WORKFLOW_DESC"))
+    define("_VIEW_VISA_WORKFLOW_DESC", "Permet de visualiser le circuit de visa dans les parties de liste de diffusion et dans celles d'avancement.");
+if (!defined("_CONFIG_VISA_WORKFLOW"))
+    define("_CONFIG_VISA_WORKFLOW", "Configuration du circuit de visa");
+if (!defined("_CONFIG_VISA_WORKFLOW_DESC"))
+    define("_CONFIG_VISA_WORKFLOW_DESC", "Permet de configurer le circuit de visa que devra prendre le courrier");
+if (!defined("_EMPTY_USER_LIST"))
+    define("_EMPTY_USER_LIST", "La liste des utilisateurs est vide");
+if (!defined("_EMPTY_VISA_WORKFLOW"))
+    define("_EMPTY_VISA_WORKFLOW", "Aucun circuit de visa paramétré");
+if (!defined("_VISA_ANSWERS"))
+    define("_VISA_ANSWERS", "Viser les projets de réponse");
+
+if (!defined("_VISA_ANSWERS_DESC"))
+    define("_VISA_ANSWERS_DESC", "Permet de viser les projets de réponse");
+
+if (!defined("_NO_VISA"))
+    define("_NO_VISA", "Aucune personne désignée en visa");
+if (!defined("_NO_RESPONSE_PROJECT_VISA"))
+    define("_NO_RESPONSE_PROJECT_VISA", "Veuillez au moins créer une pièce jointe et l'éditer");
+if (!defined("_NO_CONVERTED_PDF_VISA"))
+    define("_NO_CONVERTED_PDF_VISA", "Veuillez éditer votre/vos pièce(s) jointe(s)");
+if (!defined("_PLEASE_CONVERT_PDF_VISA"))
+    define("_PLEASE_CONVERT_PDF_VISA", "Veuillez éditer les pièces jointes suivantes : ");
+
+// CIRCUIT D"AVIS
+if (!defined("_AVIS_WORKFLOW"))
+    define("_AVIS_WORKFLOW", "Circuit d'avis");
+if (!defined("_CONFIG_AVIS_WORKFLOW"))
+    define("_CONFIG_AVIS_WORKFLOW", "Configuration du circuit d'avis");
+if (!defined("_CONFIG_AVIS_WORKFLOW_DESC"))
+    define("_CONFIG_AVIS_WORKFLOW_DESC", "Permet de configurer le circuit d'avis du courrier");
+
+if (!defined("_THUMBPRINT"))
+    define("_THUMBPRINT", "Empreinte numérique");
+
+if (!defined("_DISSMARTCARD_SIGNER_APPLET"))
+    define("_DISSMARTCARD_SIGNER_APPLET", "Signature électronique en cours...");
+
+
+if (!defined("_IMG_SIGN_MISSING"))
+    define("_IMG_SIGN_MISSING", "Image de signature manquante");
+
+if (!defined("_THUMBPRINT_MISSING"))
+    define("_THUMBPRINT_MISSING", "Empreinte numérique manquante");
+
+if (!defined("_SEND_TO_SIGNATURE"))
+    define("_SEND_TO_SIGNATURE", "Soumettre");
+
+if (!defined("_SUBMIT_COMMENT"))
+    define("_SUBMIT_COMMENT", "Commentaire de visa (optionnel) ");
+
+if (!defined("_NO_FILE_PRINT"))
+    define("_NO_FILE_PRINT", "Aucun fichier à imprimer");
+
+if (!defined("_BAD_PIN"))
+    define("_BAD_PIN", "Code PIN incorrect. Attention, 3 essais maximum !");
+
+if (!defined("_PRINT_DOCUMENT"))
+    define("_PRINT_DOCUMENT", "Afficher et imprimer le document");
+
+if (!defined("_VISA_BY"))
+    define("_VISA_BY", "Visa par");
+
+if (!defined("_INSTEAD_OF"))
+    define("_INSTEAD_OF", "A la place de");
+
+if (!defined("_CONFIG_VISA_WORKFLOW_IN_DETAIL"))
+    define("_CONFIG_VISA_WORKFLOW_IN_DETAIL", "Configuration du circuit de visa depuis la fiche détaillée");
+
+if (!defined("_CONFIG_VISA_WORKFLOW_DESC"))
+    define("_CONFIG_VISA_WORKFLOW_DESC", "Permet de configurer le circuit de visa depuis la fiche détaillée");
+
+if (!defined("_WAITING_FOR_SIGN"))
+    define("_WAITING_FOR_SIGN", "En attente de la signature");
+
+if (!defined("_SIGNED"))
+    define("_SIGNED", "Signé");
+
+if (!defined("_WAITING_FOR_VISA"))
+    define("_WAITING_FOR_VISA", "En attente du visa");
+
+if (!defined("_VISED"))
+    define("_VISED", "Visé");
+
+if (!defined("DOWN_USER_WORKFLOW"))
+    define("DOWN_USER_WORKFLOW", "Déplacer l'utilisateur vers le bas");
+
+if (!defined("UP_USER_WORKFLOW"))
+    define("UP_USER_WORKFLOW", "Déplacer l'utilisateur vers le haut");
+
+if (!defined("ADD_USER_WORKFLOW"))
+    define("ADD_USER_WORKFLOW", "Ajouter un utilisateur dans le circuit");
+
+if (!defined("DEL_USER_WORKFLOW"))
+    define("DEL_USER_WORKFLOW", "Retirer l'utilisateur du circuit");
+
+if (!defined("_NO_NEXT_STEP_VISA"))
+    define("_NO_NEXT_STEP_VISA", "Impossible d'effectuer cette action. Le circuit ne contient pas d'étape supplémentaire.");
+
+if (!defined("_VISA_USERS"))
+    define("_VISA_USERS", "Personne(s) pour visa / signature");
+
+if (!defined("_TMP_SIGNED_FILE_FAILED"))
+    define("_TMP_SIGNED_FILE_FAILED", "Echec de la génération document avec signature");
+
+if (!defined("_ENCRYPTED"))
+    define("_ENCRYPTED", "crypté");
+
+if (!defined("_VISA_USER_COU"))
+    define("_VISA_USER_COU", "Vous êtes l'actuel viseur");
+
+if (!defined("_VISA_USER_COU_DESC"))
+    define("_VISA_USER_COU_DESC", "Vous visez à la place de");
+
+if (!defined("_SIGN_USER_COU"))
+    define("_SIGN_USER_COU", "Vous êtes l'actuel signataire");
+
+if (!defined("_SIGN_USER_COU_DESC"))
+    define("_SIGN_USER_COU_DESC", "Vous signez à la place de");
+
+if (!defined("_SIGN_USER"))
+    define("_SIGN_USER", "Personne signataire");
\ No newline at end of file
-- 
GitLab