Module uptosign pour dolibarr dolibarr-uptosign
| Réf | Intitulé | Cycle | Couverture | Verdict |
|---|---|---|---|---|
| API pour autres modules | ||||
| UPTOD-093 |
API uptosignCore : signature lancée par un autre module (stancer, capdocumentunique)
Desktop
DétailsDepuis un module consommateur, lancer une signature d'un objet via uptosignCore : avec un PDF de l'objet, un PDF du tiers de l'objet, un PDF d'un autre objet, et sans objet. Attendu : les deux premiers sont envoyés ; le PDF étranger et l'appel sans objet sont refusés et loggués ; la liste "qui peut signer" retournée est celle de la fenêtre de positionnement ; l'interface ArrayAccess reste compatible avec les consommateurs existants. |
À tester | Couvert | Non testé |
| Automatisations | ||||
| UPTOD-046 |
Facture créée automatiquement à la signature d'un devis (scellée, envoyée)
Desktop
DétailsOnglet Automatisations : activer la création de facture, le scellement de cette facture, l'envoi par e-mail et choisir le modèle d'e-mail. Faire signer un devis. Attendu : une facture est créée depuis le devis et liée à lui ; elle est scellée ; elle est envoyée au client avec le modèle choisi (événement AC_BILL_SENTBYMAIL) ; rejouer le webhook ne crée pas de seconde facture ni de second envoi. Si le module Workflow crée déjà une commande à la signature, l'onglet affiche l'avertissement. |
À tester | Couvert | Non testé |
| Configuration - Distributeurs | ||||
| UPTOD-083 |
Onglets Distributeurs : compte normal et compte revendeur
Desktop
Détails
|
À tester | Couvert | Non testé |
| Configuration - Modèles de documents | ||||
| UPTOD-021 |
Créer, modifier, activer/désactiver et supprimer une configuration de modèle
Desktop
DétailsOnglet Modèles de documents :
|
À tester | Couvert | Non testé |
| UPTOD-022 |
Positionnement du sceau et de la signature par glisser-déposer sur l'aperçu
Desktop
DétailsSur une configuration en modification, déplacer les étiquettes du sceau et de la signature sur l'aperçu du PDF, enregistrer. Attendu : les coordonnées en millimètres sont mises à jour en cohérence avec la position visuelle ; une signature lancée ensuite sur ce modèle place sceau et signature à cet endroit sur le PDF signé. |
À tester | Couvert | Non testé |
| UPTOD-024 |
Droits de configuration et nom de modèle invalide refusé
Desktop
Détails
|
À tester | Couvert | Non testé |
| Configuration - Paramètres | ||||
| UPTOD-011 |
Utilisateur par défaut des actions anonymes obligatoire
Desktop
DétailsLaisser vide "Compte utilisateur dolibarr à utiliser par défaut en cas d'action anonyme" puis ouvrir l'onglet "Signature électronique" d'un devis. Attendu : un message d'erreur indique que ce réglage manque. Le renseigner : le message disparaît, et les actions sans utilisateur connecté (page publique, webhook, tâches planifiées) sont faites au nom de cet utilisateur (visible dans les événements créés). |
À tester | Couvert | Non testé |
| UPTOD-012 |
Suffixes des fichiers signé et de preuves (personnalisés ou vides)
Desktop
Détails
|
À tester | Couvert | Non testé |
| UPTOD-013 |
Forcer UpToSign comme signature par défaut (nouvel objet, objet cloné)
Desktop
Détails
|
À tester | Couvert | Non testé |
| UPTOD-014 |
Autoriser n'importe quel contact client lié au document à signer
Desktop
DétailsLier au devis un contact client avec un rôle autre que "Signature électronique (client)" (ex. contact facturation). Attendu : option désactivée, il n'est pas proposé comme signataire ; option activée, il est proposé (fenêtre de positionnement et page publique). |
À tester | Couvert | Non testé |
| UPTOD-015 |
Contact créé avec le tiers : signataire de tout par défaut
Desktop
DétailsActiver l'option Dolibarr de création automatique d'un contact avec le tiers et l'option "Le contact créé en même temps que le tiers est signataire de tout par défaut". Créer un tiers. Attendu : le contact créé a les rôles de signature client et vendeur sur tous les types de documents. Sans l'option UptoSign, il n'a aucun rôle de signature. |
À tester | Couvert | Non testé |
| UPTOD-019 |
Adresse de redirection, adresse des erreurs et copie des notifications
Desktop
Détails
|
À tester | Couvert | Non testé |
| Configuration - Serveur | ||||
| UPTOD-009 |
Mot de passe d'API jamais réaffiché, champ vide conserve l'ancien
Desktop
DétailsEnregistrer un mot de passe contenant des caractères spéciaux (< > " ' & %). Recharger la page. Attendu : le champ mot de passe est vide (le mot de passe n'apparaît pas dans le source HTML) ; il est stocké encodé en base ; enregistrer avec le champ vide conserve le mot de passe précédent ; le test de connexion utilise bien le mot de passe complet. |
À tester | Couvert | Non testé |
| UPTOD-010 |
Sécurité Dolibarr incomplète : alerte et identifiants masqués
Desktop
DétailsSupprimer la constante MAIN_SECURITY_HASH_ALGO puis ouvrir l'onglet Serveur. Attendu : le message "La configuration sécurité de votre dolibarr est incomplète..." s'affiche et les champs d'identifiants ne sont pas proposés. Remettre la constante : les identifiants réapparaissent. |
À tester | Couvert | Non testé |
| Divers | ||||
| UPTOD-096 |
Base PostgreSQL : installation et requêtes du module
Desktop
DétailsSur un Dolibarr PostgreSQL, activer le module, lancer une signature, ouvrir l'historique avec filtres, une enveloppe avec destinataires, et désactiver/réactiver. Attendu : les fichiers SQL s'exécutent sans erreur (une sorte d'instruction par fichier), aucune erreur SQL dans les journaux pendant le parcours. |
À tester | Couvert | Non testé |
| E-mails | ||||
| UPTOD-078 |
Modèles d'e-mails UptoSign avec lien vers la page publique
Desktop
DétailsDepuis "Envoyer email" d'un devis, d'une commande, d'un contrat, d'une intervention et d'une expédition, choisir le modèle UptoSign correspondant (français puis anglais). Attendu : le modèle est proposé, le lien de la page publique de signature est substitué et fonctionne ; le modèle d'expédition est de type shipping_send ; un modèle modifié par l'utilisateur est conservé à la réactivation du module ; en multisociété, les modèles existent dans chaque entité où le module est actif. |
À tester | Couvert | Non testé |
| Historique et fiche procédure | ||||
| UPTOD-053 |
Liste de l'historique : colonnes, filtres, tri, recherche
Desktop
DétailsMenu Documents > UptoSign. Attendu : la liste "Historique des signatures et scellements UptoSign" affiche Réf., Réf. pièce, Type pièce, Tiers, Contact signature, Utilisateur, Date création, Date traitement, Créé par, État UptoSign, État ; les filtres par colonne, la recherche rapide, le tri et la pagination fonctionnent ; un filtre forgé sur un champ inconnu est ignoré sans erreur SQL ; seules les procédures de l'entité courante sont listées. |
À tester | Couvert | Non testé |
| UPTOD-054 |
Fiche procédure : historique par signataire, QR code, actualisation
Desktop
DétailsOuvrir une procédure en attente puis une signée. Attendu : l'historique du processus est affiché signataire par signataire avec le lien envoyé, un QR code lisible qui ouvre ce lien sur téléphone, chaque étape datée ; "Actualiser l'historique" recharge depuis le serveur ; le lien de signature n'apparaît jamais dans les logs. |
À tester | Couvert | Non testé |
| Installation | ||||
| UPTOD-002 |
Désactivation puis réactivation : aucune donnée perdue
Desktop
DétailsAvec des procédures, des enveloppes de signature en masse (et leurs destinataires), des configurations de modèles personnalisées et des paramètres UPTOSIGN_ renseignés : désactiver le module, vérifier en base que les tables et constantes sont toujours là, puis le réactiver. Attendu : procédures, historique, liens vers les documents signés, enveloppes, destinataires, configurations et paramètres sont retrouvés à l'identique, sur l'entité principale comme sur une entité secondaire. Aucune configuration par défaut n'est dupliquée. |
À tester | Couvert | Non testé |
| UPTOD-003 |
Mise à jour sans réactivation : avertissement de version incohérente
Desktop
DétailsDéployer une version plus récente du module sans le désactiver/réactiver (UPTOSIGN_MODULE_VERSION reste à l'ancienne valeur). Attendu : l'onglet "Signature électronique" d'un document et l'onglet "Position de la signature" d'une enveloppe affichent "Module UptoSign : attention, la version de votre module n'est pas cohérente avec la version de la base de données...". Après désactivation/réactivation, le message disparaît et les migrations prévues pour les versions intermédiaires ont été appliquées (une seule fois). |
À tester | Couvert | Non testé |
| UPTOD-004 |
Réactivation après une ancienne version qui effaçait les tables : restauration de la sauvegarde
Desktop
DétailsSimuler une ancienne installation : tables du module supprimées et présence du fichier de sauvegarde d'une ancienne version. Réactiver le module. Attendu : les signatures, les paramètres et les configurations de documents personnalisées de la sauvegarde sont restaurés. Si les tables existent déjà, la sauvegarde n'est PAS rejouée. La migration des chemins de fichiers (2.0.40) ne tourne que si une version précédente est connue, jamais sur une constante de version vide. |
À tester | Couvert | Non testé |
| UPTOD-005 |
Permissions par défaut : seules les permissions de lecture sont données
Desktop
DétailsActiver le module puis créer un nouvel utilisateur. Attendu : il reçoit "Lire les signatures" et "Lire les listes de signatures" uniquement. "Lancer un processus de signature ou scellement", "Annuler un processus de signature", les droits de configuration et d'écriture des listes ne sont pas cochés. Un utilisateur existant qui avait reçu "Lancer..." avec une ancienne version la conserve. |
À tester | Couvert | Non testé |
| UPTOD-006 |
Compatibilité Dolibarr 18 à 24 et PHP 7.4 : parcours de base sans erreur
Desktop
DétailsSur un Dolibarr 18 (PHP 7.4) puis sur la dernière version supportée : activer le module, ouvrir chaque onglet de configuration, ouvrir l'onglet "Signature électronique" d'un devis validé, la liste de l'historique et une enveloppe de signature en masse. Attendu : aucune erreur PHP (ni warning/deprecated dans les logs), aucune page blanche ; la matrice PHPStan 18 à 24 de la CI est verte. |
À tester | Couvert | Non testé |
| Multisociété | ||||
| UPTOD-088 |
Documents lus et enregistrés dans l'entité de l'objet
Desktop
DétailsDeux entités ayant chacune un devis de même référence. Depuis l'entité 2, signer le devis partagé de l'entité 1. Attendu : le PDF envoyé est celui du répertoire de l'entité 1 (jamais l'homonyme de l'entité 2) ; le PDF signé et la preuve sont enregistrés dans le répertoire de l'entité 1. |
À tester | Couvert | Non testé |
| UPTOD-089 |
Webhook et tâches planifiées sur l'entité de la procédure
Desktop
DétailsProcédure de l'entité 2 terminée chez UptoSign. Laisser arriver le webhook (hors connexion), puis exécuter la tâche d'archivage depuis l'entité 1. Attendu : le webhook bascule sur l'entité 2 avant tout appel et utilise sa clé ; les événements créés appartiennent à l'entité 2 ; la tâche d'archivage traite la procédure avec le compte de l'entité 2. La liste de l'historique de l'entité 1 n'affiche pas cette procédure. |
À tester | Couvert | Non testé |
| Page publique de signature | ||||
| UPTOD-049 |
Page publique : consulter le document, choisir le signataire, accepter et signer
Mobile
Desktop
DétailsEnvoyer un devis avec le modèle d'e-mail "UptoSign devis", ouvrir le lien reçu sans être connecté. Attendu : la page "Page de signature des documents électroniques" affiche le document, le bouton "Consulter le document" (qui ouvre le PDF) et le signataire désigné ; avec plusieurs signataires possibles, un choix est proposé ; "Accepter et signer" affiche "Votre demande a bien été enregistrée..." et le signataire reçoit le lien UptoSign ; un second clic ne crée pas de seconde procédure. Affichage correct sur smartphone. |
À tester | Couvert | Non testé |
| UPTOD-050 |
Page publique : refuser un devis
Mobile
Desktop
DétailsDepuis la page publique d'un devis, cliquer "Refuser". Attendu : le devis passe à l'état refusé (non signé) dans Dolibarr ; aucune procédure UptoSign n'est créée ; le bouton Refuser n'existe que pour les devis. |
À tester | Couvert | Non testé |
| UPTOD-052 |
Page publique : lien altéré, document indisponible, autre entité
Mobile
Desktop
DétailsOuvrir la page publique avec : une clé de sécurité fausse, une référence inexistante, un type d'objet non géré, un document brouillon ou déjà signé, un paramètre entity d'une autre entité. Attendu : message d'erreur sans fuite d'information (pas de PDF servi, pas de données du tiers), aucune procédure créée ; avec un lien valide d'une autre entité, le document de la bonne entité est affiché. |
À tester | Couvert | Non testé |
| Permissions | ||||
| UPTOD-086 |
Actions d'écriture : droit ET jeton CSRF exigés
Desktop
DétailsRejouer en GET/POST, sans jeton puis avec un jeton faux, chaque action d'écriture : lancer signature/scellement, actions de masse, suppression de procédure (confirm_delete), synchronisation, bouton "UpToSign pour tout document", ajout/suppression de destinataires, envoi d'enveloppe, modification de configuration. Attendu : toutes refusées sans modification ; avec droit et jeton valides, elles aboutissent ; sans le droit, refusées même avec jeton. |
À tester | Couvert | Non testé |
| Sécurité | ||||
| UPTOD-092 |
Page d'administration des journaux
Desktop
DétailsOuvrir admin/logs.php en administrateur, puis en non-administrateur, puis en administrateur d'une entité secondaire avec Multisociété. Tenter de lire un fichier hors racine des logs (../, sous-dossier, fichier non .log) et sans jeton. Attendu : seuls les fichiers *.log à la racine des documents sont listés et lisibles ; non-admin et admin non superadmin en multisociété refusés ; chemins forgés et requêtes sans jeton refusés. |
À tester | Couvert | Non testé |
| Signataires | ||||
| UPTOD-026 |
Signataire incomplet écarté avec message, mobile en double compté une fois
Desktop
DétailsLier au document des contacts : un sans e-mail, un sans nom, un avec mobile national 0612345678 d'un pays connu, un avec mobile invalide, deux contacts avec le même mobile. Attendu : les contacts sans e-mail, sans nom ou au mobile inutilisable sont écartés avec un message qui dit quoi compléter ; un mobile national est normalisé au format international selon le pays ; un même mobile ne donne qu'un signataire. Sans aucun signataire valide : "Attention: aucun contact n'est désigné pour la signature." |
À tester | Couvert | Non testé |
| UPTOD-027 |
Bouton "UpToSign pour tout document" sur la fiche contact
Desktop
DétailsOuvrir la fiche d'un contact sans rôle de signature et cliquer sur "UpToSign pour tout document". Attendu : le contact reçoit les rôles de signature client et vendeur sur tous les types de documents gérés (propositions, commandes, factures, contrats, interventions, projets, expéditions, documents fournisseurs) ; un second clic ne crée pas de doublon ; le bouton exige le droit de lancement et le jeton CSRF. |
À tester | Couvert | Non testé |
| Signature d'un document | ||||
| UPTOD-032 |
Fenêtre de positionnement isolée : ouverture, choix du PDF, navigation, fermeture
Desktop
DétailsJoindre plusieurs PDF à un devis, cliquer sur UPTOSIGN / Signer. Attendu : la fenêtre s'ouvre au-dessus de la fiche sans menus ni styles Dolibarr ; le sélecteur liste les PDF du devis ; changer de PDF recharge l'aperçu ; les boutons de pages naviguent entre les pages ; depuis l'onglet, le mode de départ est "Sceller (actif)" et "Signer"/"Sceller" basculent le mode ; la croix et la touche Échap ferment la fenêtre sans rien lancer. Aucune erreur dans la console JS. |
À tester | Couvert | Non testé |
| UPTOD-036 |
Une seule procédure ouverte par PDF, même après régénération du PDF
Desktop
DétailsLancer une signature sur un devis (procédure en attente). Puis :
|
À tester | Couvert | Non testé |
| UPTOD-038 |
PDF hors du répertoire de l'objet refusé
Desktop
DétailsForger la requête d'envoi en remplaçant le nom du PDF par "../../autre/fichier.pdf", par un chemin absolu, par un fichier non PDF, ou par un lien symbolique sortant de DOL_DATA_ROOT. Attendu : refus avec message et log "uptosign: ..." ; aucun fichier envoyé au serveur UptoSign ; aucune écriture ni suppression hors du répertoire de l'objet. |
À tester | Couvert | Non testé |
| Signature en masse | ||||
| UPTOD-061 |
Joindre le PDF à signer à l'enveloppe
Desktop
DétailsOnglet Fichiers joints : envoyer un PDF, puis un second. Attendu : les deux fichiers sont listés et téléchargeables ; ils sont rangés dans le répertoire de l'enveloppe de l'entité courante ; un utilisateur sans droit de lecture des listes ne peut pas les télécharger (accès document refusé). |
À tester | Couvert | Non testé |
| UPTOD-063 |
Destinataires : source utilisateurs (salariés, groupe, recherche)
Desktop
DétailsSource "Utilisateurs dolibarr avec email et tél. mobile". Filtrer par état, salarié ou non, groupe ("Filtrer les salariés par groupe"), puis un salarié précis via la recherche. Attendu : seuls les utilisateurs avec e-mail et mobile sont ajoutés ; les filtres sont respectés ; un utilisateur désactivé n'est ajouté que si le filtre d'état le demande. |
À tester | Couvert | Non testé |
| UPTOD-064 |
Destinataires : source adhérents
Desktop
DétailsModule Adhérents actif. Source "Membres de l'association", filtres statut, type, catégorie, date de fin d'adhésion. Préparer un adhérent avec mobile, un avec seulement le téléphone, un sans numéro. Attendu : les deux premiers sont ajoutés (le téléphone sert de mobile au second) ; le troisième ne l'est pas et un message indique combien d'adhérents sans numéro ont été écartés. Source absente si le module Adhérents est désactivé. |
À tester | Couvert | Non testé |
| UPTOD-065 |
Destinataires : source participants à un événement
Desktop
DétailsModule Organisation d'événements actif. Un événement avec trois participants : un dont l'e-mail correspond à un contact actif avec mobile, un dont le contact n'a pas de mobile, un sans contact correspondant. Attendu : seul le premier est ajouté, avec le mobile du contact ; les deux autres sont ignorés. Source absente si le module est désactivé. |
À tester | Couvert | Non testé |
| UPTOD-066 |
Destinataires : import depuis un fichier CSV
Desktop
DétailsSource "E-mails à partir d'un fichier". Fichiers à tester :
|
À tester | Couvert | Non testé |
| UPTOD-067 |
Destinataires : saisie manuelle (point-virgule ou tabulation)
Desktop
DétailsSource "E-mails entrés par l'utilisateur" :
|
À tester | Couvert | Non testé |
| UPTOD-069 |
Destinataires : pas de doublon d'e-mail, bouton Ajouter bloqué après clic
Desktop
DétailsAjouter deux fois la même source avec les mêmes filtres, puis une autre source contenant une adresse déjà présente ; double-cliquer sur Ajouter. Attendu : les sources Dolibarr n'ajoutent jamais un e-mail déjà présent ; le bouton se bloque après le premier clic ; aucun doublon en base. |
À tester | Couvert | Non testé |
| UPTOD-074 |
Envoi en échec pour un destinataire : les autres partent, motif conservé
Desktop
DétailsInclure un destinataire au mobile refusé par le serveur UptoSign. Attendu : un message cite son nom et le motif ; les autres destinataires reçoivent leur demande ; l'enveloppe reste "Envoyée partiellement" ; le CSV téléchargé contient le motif dans error_text pour cette ligne. |
À tester | Couvert | Non testé |
| UPTOD-076 |
Supprimer une enveloppe : procédures des destinataires traitées
Desktop
DétailsAvec "Supprimer la liste de signatures", supprimer une enveloppe ayant des procédures ouvertes et terminées. Attendu : les procédures ouvertes sont annulées chez UptoSign, les terminées supprimées localement ; une annulation en échec refuse la suppression de l'enveloppe avec message ; sans le droit, pas de bouton et requête forgée refusée. |
À tester | Couvert | Non testé |
| UPTOD-077 |
Enveloppe : envoi d'e-mail, notes, contacts, agenda, liens de retour
Desktop
DétailsSur la fiche d'une enveloppe : envoyer un e-mail (droit d'écriture des listes exigé), saisir des notes publique/privée, consulter les onglets contacts et agenda, utiliser les liens "Retour à la liste". Attendu : chaque onglet s'ouvre sans erreur ; l'e-mail est envoyé avec l'en-tête X-Dolibarr-Info et tracé ; sans droit, le bouton d'envoi est absent ; les liens de retour mènent à la liste des enveloppes (un backtopage externe est ignoré). |
À tester | Couvert | Non testé |
| Suivi et rapatriement | ||||
| UPTOD-042 |
Webhook signé : état mis à jour, PDF signé et preuve rapatriés, devis signé
Desktop
DétailsDolibarr joignable depuis Internet. Faire signer un devis par tous les signataires. Attendu : sans action manuelle, la procédure passe à "Signé" puis "Téléchargé" ; le PDF signé puis le dossier de preuves sont enregistrés à côté du PDF d'origine ; le devis passe à l'état "Signé" ; un événement est créé dans l'agenda du devis. Rejouer le même appel webhook ne duplique ni fichier ni événement. |
À tester | Couvert | Non testé |
| UPTOD-043 |
Webhook : refus, annulation, erreur, expiration
Desktop
DétailsSimuler (ou provoquer) chaque retour du serveur : refus du signataire, procédure annulée côté UptoSign, erreur de signature, expiration. Attendu : états respectifs "Le correspondant a refusé de signer le document", "UptoSign annulé", "Erreur de signature", "Expiré" ; un devis refusé passe à l'état non signé/refusé ; aucun fichier signé n'est créé ; le libellé d'état distant est traduit. |
À tester | Couvert | Non testé |
| UPTOD-044 |
Webhook : signature HMAC invalide ou procédure inconnue refusée
Desktop
DétailsAppeler public/hook.php : sans signature, avec une signature HMAC fausse, avec un uuid inconnu, avec une méthode GET. Attendu : réponse d'erreur, aucune modification en base ni sur disque, raison logguée "uptosign: ..." sans clé ni secret dans le log. Avec une signature valide, l'appel est traité. |
À tester | Couvert | Non testé |
| Suppression | ||||
| UPTOD-056 |
Supprimer une procédure : annulation distante si elle est encore ouverte
Desktop
DétailsAvec "Annuler un processus de signature" :
|
À tester | Couvert | Non testé |
| UPTOD-058 |
Suppression d'un document Dolibarr : ses procédures suivent
Desktop
DétailsPour chaque type (devis, commande, facture, contrat, intervention, projet, expédition, documents fournisseurs, tiers, contact) ayant des procédures ouvertes et terminées : supprimer le document. Attendu : procédures ouvertes annulées chez UptoSign, terminées supprimées localement ; si une annulation échoue, la suppression du document est refusée avec message, les procédures déjà annulées le restent et la suppression réessayée reprend avec les suivantes. Exception : supprimer un utilisateur conserve ses procédures terminées et documents signés. |
À tester | Couvert | Non testé |
| Tâches planifiées | ||||
| UPTOD-082 |
Tâche Revendeurs : report des consommations sur contrats et factures modèles
Desktop
DétailsCompte revendeur, option "Activer la tâche planifiée spéciale des revendeurs" activée, clients avec contrat et facture modèle. Exécuter la tâche deux fois le même jour. Attendu : les quantités de signatures et scellements du mois en cours sont reportées sur les lignes du contrat, celles du mois précédent sur la facture modèle ; la seconde exécution du jour ne fait rien ; option désactivée : sortie "rien à faire", retour 0. |
À tester | Couvert | Non testé |