Commit e2b78bd4 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Correction du bug d'assertion et ajout de doc pour la gestion des assertions liées à l'entité thèse

parent 4846c861
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
# Fonctionnement du fichier CSV

## Interprétation du fichier CSV

Dans le fichier CSV, la première ligne désigne la classe d'assertion liée au fichier CSV.
Par exemple, `class;Application\Assertion\These\GeneratedTheseEntityAssertion` pour la classe `GeneratedTheseEntityAssertion`.

Les lignes correspondent au privilièges et les colonnes aux prédicats utilisés. 
Pour lire comment interpréter le fichier, on regarde pour un privilège les lignes (consécutives?) qui lui sont associées et les prédicats pour lesquel la cellule est non vide.


Par exemple, pour le privilège `THESE_DEPOT_INITIAL` :

| privilege                   | isTheseEnCours | isTheseSoutenue |...| return |
|-----------------------------|----------------|-----------------|---|--------|
|THESE_DEPOT_VERSION_INITIALE |1:0             |                 |...| 0      |
|THESE_DEPOT_VERSION_INITIALE |                | 1:1             |...| 0      |
| ... | ... | ... | ... | ... |
|THESE_DEPOT_VERSION_INITIALE |                |                 |...| 1      |

La cellule au croissement de `THESE_DEPOT_VERSION_INITIALE` et de `isTheseEnCours` vaut `1:0`.
Elle s'interprète comme si le prédicat est `faux` alors l'assertion retourne `0`.

La cellule au croissement de `THESE_DEPOT_VERSION_INITIALE` et de `isTheseSoutenue` vaut `1:1`.
Elle s'interprète comme si le prédicat est `vrai` alors l'assertion retourne `0`.
 
La dernière ligne indique que si on a franchi toutes les étapes précédentes alors l'assertion retourne `1`.

## Ajouter une nouvelle assertion

***TODO***
 
## Génrer le nouveau ficher assertion

Pour que les modifications effectuées sur le fichier CSV soit appliquées, il est nécessaire d'executer la commande `generate-assertion`. 
 
```bash
# Se positionner dans le repertoire data/assertion 
./generate-assertion --file ./TheseEntityAssertion.csv
``` 
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ line;enabled;privilege;isRoleDoctorantSelected;;isStructureDuRoleRespectee;;isTh
17;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;1:1;;;;;;;;;;;;;;;;;;;;0;La date butoir pour le dépôt de la version corrigée est dépassée (%s).
18;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;;;;;;;;;1:1;;;;;;;;;;;;0;Opération impossible dès lors que le dépôt de la version corrigée a été validé par au moins un directeur.
19;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;
20;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;1:0;;;;;;;;;;;;;;;;;;;;;;;0;L’état de la thèse ne permet pas cette opération.
20;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;1:0;;;;;;;;;;;;;;;;;;;;;;0;L’état de la thèse ne permet pas cette opération.
21;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;1:0;;;;;;;;;;;;;;;;;;;;;0;Aucune correction n'est attendue pour cette thèse
22;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;;;;;;;;1:1;;;;;;;;;;;;;;0;Opération impossible dès lors que le dépôt de la version corrigée a été validé.
23;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;
+4 −4
Original line number Diff line number Diff line
@@ -6,10 +6,10 @@ namespace Application\Assertion\These;
 * Classe mère d'Assertion.
 *
 * Générée à partir du fichier
 * /home/gauthierb/workspace/sygal/data/assertions/TheseEntityAssertion.csv.
 * /home/metivier/MyWeb/sygal/data/assertions/TheseEntityAssertion.csv.
 *
 * @author Application\Assertion\Generator\AssertionGenerator
 * @date 15/07/2019 09:35:53
 * @date 24/10/2019 10:08:24
 */
abstract class GeneratedTheseEntityAssertion
{
@@ -159,7 +159,7 @@ abstract class GeneratedTheseEntityAssertion
        //--------------------------------------------------------------------------------------
            /* line 20 */
            $this->linesTrace[] = '/* line 20 */';
            if (! $this->isTheseEnCours() /* test 5 */) {
            if (! $this->isTheseSoutenue() /* test 6 */) {
                $this->failureMessage = "L’état de la thèse ne permet pas cette opération.";
                return false;
            }
@@ -632,7 +632,7 @@ line;enabled;privilege;isRoleDoctorantSelected;;isStructureDuRoleRespectee;;isTh
17;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;1:1;;;;;;;;;;;;;;;;;;;;0;La date butoir pour le dépôt de la version corrigée est dépassée (%s).
18;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;;;;;;;;;1:1;;;;;;;;;;;;0;Opération impossible dès lors que le dépôt de la version corrigée a été validé par au moins un directeur.
19;1;\Application\Provider\Privilege\ThesePrivileges::THESE_DEPOT_VERSION_CORRIGEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;
20;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;1:0;;;;;;;;;;;;;;;;;;;;;;;0;L’état de la thèse ne permet pas cette opération.
20;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;1:0;;;;;;;;;;;;;;;;;;;;;;0;L’état de la thèse ne permet pas cette opération.
21;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;1:0;;;;;;;;;;;;;;;;;;;;;0;Aucune correction n'est attendue pour cette thèse
22;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;;;;;;;;1:1;;;;;;;;;;;;;;0;Opération impossible dès lors que le dépôt de la version corrigée a été validé.
23;1;\Application\Provider\Privilege\ThesePrivileges::THESE_SAISIE_CONFORMITE_VERSION_ARCHIVAGE_CORRIGEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;