Commit 8d1252d8 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Fix UI + Doc

parent 1ebd2368
Loading
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ Adapter la configuration selon votre usage, par défaut, le fichier de configura

> Vous pouvez également [Développer un nouveau parapheur](doc/dev/parapheur-dev.md)


### Base de données

Vous devez installer les tables utilisées par le module : 
@@ -82,18 +83,14 @@ return $config;

```

### Dossier des documents

Vérifiez que le dossier d'écriture des documents à signer est bien accessible en écriture. C'est le dossier indiqué dans la clef `documents_path` (par défaut `./data/documents/signature`)

A cette étape, le module est opérationnel et permet d'utiliser ces services pour les documents de votre application.
## 

## Utilisation du module

- [x] [Configuration générale](./doc/config/configuration.md)
- [x] [Usage simple pour signer des documents](doc/dev/usage.md)
- [x] [Utilisation en ligne de commande](doc/dev/commands.md)
- [ ] [Processus de signature](doc/dev/process.md)
- [ ] [Interfaces du module](doc/dev/ui.md)
- [x] [Processus de signature](doc/dev/process.md)
- [x] [Interfaces du module](doc/dev/ui.md)
- [ ] [Développer un parapheur](doc/dev/parapheur-dev.md)

## TODO
+89 −0
Original line number Diff line number Diff line
# Configuration du module

## Rappel

## Parapheurs

- [Configuration du parapheur ESUP](./parapheur-esup.md)
- [Configuration du parapheur INTERNAL](./parapheur-interne.md)

## Dossier pour les documents

Les documents envoyés sont stoqués dans un dossier local : 

````php
<?php

use Psr\Container\ContainerInterface;

return [
    /**  **/
    'unicaen-signature' => [
        // ...
        // Emplacement où sont archivés les documents en cours de signature
        'documents_path' => __DIR__ . '/../../data/documents/signature',
        // ...
    ]
];
````

## Logger

Pour tracer l'activité du module, utile lors de la mise en place

````php
<?php

use Psr\Container\ContainerInterface;

return [
    /**  **/
    'unicaen-signature' => [
        'logger'         => [
            ///////////////////////////////////////
            // Activation d'un logger autonome
            'enable'          => true, // Actif
            'level'           => \Monolog\Logger::INFO, // Niveau de log
            'file'            => __DIR__ . '/../../logs/signature.log', // Fichier d'écriture
            'file_permission' => 0666,

            ///////////////////////////////////////
            /// Sortie standard (pour le développement le built-in serveur)
            'stdout'          => false,

            ///////////////////////////////////////
            /// Logger complémentaire (celui de l'application utilisant le module)
            /// -> implementation de LoggerInterface (ex: Monolog)
            // 'customLogger'    => 'Logger' // customLogger (LoggerInterface)
            'customLogger'    => null // customLogger (LoggerInterface)
        ],
       ]
    ]
];
````

## Liste des signatures pour l'utilisateur connecté

La clef `current_user` doit retourner l'email sous la forme d'une chaîne de caractère.

```php
<?php

use Psr\Container\ContainerInterface;

return [
    /**  **/
    'unicaen-signature' => [

        /**
         * Retourne l'email de l'utilisateur courant. Cette méthode est utilisé lors d'un VISA INTERNE pour vérifier
         * si l'utilisateur courant est autorisé à Valider/Refuser le document.
         */
        'current_user'   => function (ContainerInterface $sc): string {
            // retourne l'email de l'utilisateur courant
            return "";
        },
    ]
    /******/
];
```
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
## Nouveautés

 - Dépendance faible entre les process et signatureflow (modèle des process)

 - Ajout de clef de configuration pour les notifications par email

## Mise à jour du modèle

+0 −1
Original line number Diff line number Diff line
.signatureflow{border:solid #cbd9e1 thin;border-left:solid #a3c2d3 4px;background:white;padding:.5em 1em;margin:1em 0}.buttons-bar{padding-top:.5em;border-top:solid #dde2e5 thin}.signatureflows-edit .steps{background:white}.option{border:solid #c7ccd5 1px;border-left:solid #0a53be 1px;padding:.3em .5em}.valued{display:inline-block;background:#edf1f6;padding:0 .5em;margin:0 .3em;border-radius:4px}.steps{margin:1em 0;padding:.2em 1em;border:solid #dde2e5 thin}.step{padding:.5em 1em;border:solid #dde2e5 thin;border-left:solid #dde2e5 4px;margin:1em 0}.options{background:white;padding:1em 2em}.buttons-right{text-align:right}.overlay{display:flex;position:fixed;top:0;left:0;bottom:0;right:0;transition:all .3s;background:rgba(255,255,255,.9)}.overlay .overlay-content{font-size:1.2em;flex:0 50%;padding:1em 2em;border:solid 1px #dae1e5;background:#ffffff;box-shadow:0 0 3em #00000040}.overlay.error{display:flex;position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(0,10,0,.9)}.overlay.error .overlay-content{color:#fff;background:rgb(150,10,0)}
+1 −0
Original line number Diff line number Diff line
.openable{cursor:pointer}.signatureflow{border:solid #cbd9e1 thin;border-left:solid #a3c2d3 4px;background:white;padding:.5em 1em;margin:1em 0}.signatureflow h3{margin:0 0 .3em}.buttons-bar{padding-top:.5em;border-top:solid #dde2e5 thin}.signatureflows-edit .steps{background:white}.option{border:solid #c7ccd5 1px;border-left:solid #0a53be 1px;padding:.3em .5em}.valued{display:inline-block;background:#edf1f6;padding:0 .5em;margin:0 .3em;border-radius:4px}.steps{margin:1em 0;padding:.2em 1em;border:solid #dde2e5 thin}.step{padding:.5em 1em;border:solid #dde2e5 thin;border-left:solid #dde2e5 4px;margin:1em 0}.options{background:white;padding:1em 2em}.buttons-right{text-align:right}.overlay{display:flex;position:fixed;top:0;left:0;bottom:0;right:0;transition:all .3s;background:rgba(255,255,255,.9)}.overlay .overlay-content{font-size:1.2em;flex:0 50%;padding:1em 2em;border:solid 1px #dae1e5;background:#ffffff;box-shadow:0 0 3em #00000040}.overlay.error{display:flex;position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(0,10,0,.9)}.overlay.error .overlay-content{color:#fff;background:rgb(150,10,0)}
Loading