Changes for api/doc/association.md: 40 added lines, 0 removed lines.
Original line number
Diff line number
Diff line
# unicaen/evenement-bundle
[WIP] en cours de test -> l'objectif est de fournir pour toutes entités associées, une liste d'événement la concernant.
## Association Evenement <-> Entity
Afin de pouvoir liéer un événement à des entités (ie: étudiant, utilisateur ...)
### Type d'association
Les types d'associations permettent de discréminer les entités dans la table evenement_association et ansi faire le mapping entre un evenement et un type d'entité
Par exemple, si l'on souhaite faire un liens entre des Etudiant et des événements, il faut creer un type d'association comme si dessous :
/evenement/association/type (POST)
```json
{
"code":"etudiant",
"libelle":"Étudiant",
"description":"Évènement <-> Étudiant"
}
```
### Associé l'événement à une entité
### Interface MappableEvenementInterface
L'interface [MappableEvenementInterface.php](../src/Model/MappableEvenementInterface.php) permet de gerer le mapping entre notre entité Etudiant et les événements eux même
Le listener [MappableEvenementListener.php](../src/EventListener/MappableEvenementListener.php) gére lors du chargement d'un étudiant le mapping avec les événements qui lui sont associées.
Ces associations reposent sur le fait que l'on lie dans la configuration les associations de type 'etudiant' à la classe Etudiant :
Le répertoire data propose un ensemble de données utilisable par `unicaen:referentiel:sync`.
Il est déconseillé de les placer directement dans le repertoire du référentiel, mais plutot dans un sous-répertoire.
S'il faut certe les utiliser 1 par 1 via la commande, mais celà évite de réimporter par erreur certaines association ROlE <-> PRIVILEGE qui aurais été modifier par un utilisateur
## Handlers
Le traitement des événements repose sur un système de "Handlers", c'est-à-dire de classe php qui s'occupe du traitement d'un événement