Skip to content

Commit fc636eb

Browse files
ZitDantesgitbook-bot
authored andcommitted
GITBOOK-39: No subject
1 parent 6e6f2d4 commit fc636eb

1 file changed

Lines changed: 44 additions & 85 deletions

File tree

doc_produit/front-ova/eig/role-et-droits-utilisateurs.md

Lines changed: 44 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -22,117 +22,76 @@ Le système de gestion des Événements Indésirables Graves (EIG) implémente u
2222

2323
## Tableau des rôles et permissions
2424

25-
| Rôle | Code Backend | Code Frontend | Permissions | Actions autorisées |
26-
| -------------------- | -------------- | -------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27-
| **Lecture seule** | `Eig_Lecture` | `EIG_LECTURE` | Consultation uniquement | <p>• Consulter la liste des EIG<br>• Consulter un EIG détaillé<br>• Voir les statuts et types d'événements<br>• Accéder aux documents joints</p> |
28-
| **Lecture/Écriture** | `Eig_Ecriture` | `EIG_ECRITURE` | Accès complet | <p>• Toutes les permissions de lecture<br>• Créer un nouvel EIG<br>• Modifier un EIG en statut BROUILLON<br>• Supprimer un EIG en statut BROUILLON<br>• Déposer un EIG (passage ENVOYE)<br>• Gérer les documents joints<br>• Attribuer des rôles EIG aux autres utilisateurs</p> |
25+
| Rôle | Permissions | Actions autorisées |
26+
| -------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27+
| **Lecture seule** | Consultation uniquement | <p>• Consulter la liste des EIG<br>• Consulter un EIG détaillé<br>• Voir les statuts et types d'événements<br>• Accéder aux documents joints</p> |
28+
| **Lecture/Écriture** | Accès complet | <p>• Toutes les permissions de lecture<br>• Créer un nouvel EIG<br>• Modifier un EIG en statut BROUILLON<br>• Supprimer un EIG en statut BROUILLON<br>• Déposer un EIG (passage ENVOYE)<br>• Gérer les documents joints<br>• Attribuer des rôles EIG aux autres utilisateurs</p> |
2929

3030
## Contrôles d'accès par fonctionnalité
3131

32-
### Frontend (Interface utilisateur)
32+
| Fonctionnalité | EIG\_LECTURE | EIG\_ECRITURE |
33+
| ---------------------- | ------------ | --------------------- |
34+
| **Menu de navigation** | ✅ Affiché | ✅ Affiché |
35+
| **Liste des EIG** | ✅ Accès | ✅ Accès |
36+
| **Consultation EIG** | ✅ Accès | ✅ Accès |
37+
| **Création EIG** | ❌ Bloqué | ✅ Accès |
38+
| **Modification EIG** | ❌ Bloqué | ✅ Si statut BROUILLON |
39+
| **Suppression EIG** | ❌ Bloqué | ✅ Si statut BROUILLON |
40+
| **Gestion des rôles** | ❌ Bloqué | ✅ Accès |
3341

34-
| Fonctionnalité | EIG\_LECTURE | EIG\_ECRITURE | Contrôle |
35-
| ---------------------- | ------------ | --------------------- | ----------------------------------------------- |
36-
| **Menu de navigation** | ✅ Affiché | ✅ Affiché | Vérification des rôles dans `useMenuNavItem.js` |
37-
| **Liste des EIG** | ✅ Accès | ✅ Accès | Middleware `check-roles.js` |
38-
| **Consultation EIG** | ✅ Accès | ✅ Accès | Middleware `check-roles.js` |
39-
| **Création EIG** | ❌ Bloqué | ✅ Accès | Vérification dans `useMenuNavItem.js` |
40-
| **Modification EIG** | ❌ Bloqué | ✅ Si statut BROUILLON | `eigStore.canModify` |
41-
| **Suppression EIG** | ❌ Bloqué | ✅ Si statut BROUILLON | `canDelete()` dans `utils/eig.js` |
42-
| **Gestion des rôles** | ❌ Bloqué | ✅ Accès | `canUpdateRole` dans `Compte.vue` |
42+
### Utilisateurs OVA (Front)
4343

44-
### Backend (API)
45-
46-
| Endpoint | Méthode | EIG\_LECTURE | EIG\_ECRITURE | Middleware |
47-
|----------|---------|-------------|---------------|------------|
48-
| `/eig/me` | GET ||| `checkPermissionEIG({ action: "READING" })` |
49-
| `/eig` | POST ||| `checkPermissionEIG({ action: "CREATION" })` |
50-
| `/eig/:id` | PUT ||| `checkPermissionEIG({ action: "MODIFICATION" })` |
51-
| `/eig/:id` | DELETE ||| `checkPermissionEIG({ action: "DELETION" })` |
52-
| `/eig/depose/:id` | POST ||| `checkPermissionEIG({ action: "MODIFICATION" })` |
53-
| `/fo-user/roles/:userId` | POST ||| `checkPermissionFoRole({ role: "EIG_ECRITURE" })` |
54-
55-
## Rôles par type d'utilisateur
56-
57-
### Utilisateurs OVA (Front Office)
58-
59-
Les utilisateurs OVA sont les organisateurs de vacances adaptées qui utilisent le frontend pour déclarer leurs séjours et EIG.
60-
61-
| Rôle EIG | Permissions | Actions autorisées | Contrôles spécifiques |
62-
|----------|-------------|-------------------|----------------------|
63-
| **Aucun rôle EIG** | ❌ Accès bloqué | • Aucun accès aux fonctionnalités EIG | • Redirection vers `/connexion` avec code 403 |
64-
| **EIG_LECTURE** | ✅ Lecture seule | • Consulter la liste des EIG de son organisme<br>• Consulter un EIG détaillé<br>• Voir les statuts et types d'événements<br>• Accéder aux documents joints | • Vérification d'appartenance à l'organisme<br>• Middleware `check-roles.js` |
65-
| **EIG_ECRITURE** | ✅ Accès complet | • Toutes les permissions de lecture<br>• Créer un nouvel EIG<br>• Modifier un EIG en statut BROUILLON<br>• Supprimer un EIG en statut BROUILLON<br>• Déposer un EIG (passage ENVOYE)<br>• Gérer les documents joints<br>• Attribuer des rôles EIG aux autres utilisateurs de son organisme | • Vérification d'appartenance à l'organisme<br>• Contrôle des statuts (modification/suppression uniquement en BROUILLON)<br>• Vérification de l'éligibilité du séjour |
44+
| Rôle EIG | Permissions | Actions autorisées |
45+
| ------------------ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46+
| **Aucun rôle EIG** | ❌ Accès bloqué | • Aucun accès aux fonctionnalités EIG |
47+
| **EIG\_LECTURE** | ✅ Lecture seule | <p>• Consulter la liste des EIG de son organisme<br>• Consulter un EIG détaillé<br>• Voir les statuts et types d'événements<br>• Accéder aux documents joints</p> |
48+
| **EIG\_ECRITURE** | ✅ Accès complet | <p>• Toutes les permissions de lecture<br>• Créer un nouvel EIG<br>• Modifier un EIG en statut BROUILLON<br>• Supprimer un EIG en statut BROUILLON<br>• Déposer un EIG (passage ENVOYE)<br>• Gérer les documents joints<br>• Attribuer des rôles EIG aux autres utilisateurs de son organisme</p> |
6649

6750
### Agents (Back Office)
6851

6952
Les agents sont les utilisateurs du back office qui gèrent les EIG et ont des permissions étendues.
7053

71-
| Rôle Back Office | Permissions EIG | Actions autorisées | Contrôles spécifiques |
72-
|------------------|-----------------|-------------------|----------------------|
73-
| **Agent avec rôle `eig`** | ✅ Accès complet | • Consulter tous les EIG (tous organismes)<br>• Marquer un EIG comme lu (DDETS/DREETS)<br>• Accéder aux EIG par déclaration de séjour<br>• Voir les notifications et emails | • Vérification du rôle `eig` automatique<br>• Contrôle des statuts (pas d'accès aux BROUILLON)<br>• Vérification du territoire (DDETS/DREETS) |
74-
| **Agent sans rôle `eig`** | ❌ Accès bloqué | • Aucun accès aux fonctionnalités EIG | • Middleware `bo-check-role.js` avec `["eig"]` |
54+
| Rôle Back Office | Permissions EIG | Actions autorisées |
55+
| ------------------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
56+
| **Agent avec rôle `eig`** | ✅ Accès complet | <p>• Consulter tous les EIG (tous organismes)<br>• Marquer un EIG comme lu (DDETS/DREETS)<br>• Accéder aux EIG par déclaration de séjour<br>• Voir les notifications et emails</p> |
57+
| **Agent sans rôle `eig`** | ❌ Accès bloqué | • Aucun accès aux fonctionnalités EIG |
7558

7659
#### Permissions spécifiques des agents
7760

78-
| Fonctionnalité | Agent avec rôle `eig` | Contrôle |
79-
|----------------|----------------------|----------|
80-
| **Liste des EIG** | ✅ Accès à tous les EIG | `boCheckRoleEig` |
81-
| **Consultation EIG** | ✅ Accès détaillé | `checkPermissionBOEIG` |
82-
| **Marquer comme lu** | ✅ DDETS et DREETS | Vérification du territoire |
61+
| Fonctionnalité | Agent avec rôle `eig` | Contrôle |
62+
| ----------------------- | ------------------------------------ | ------------------------------------------------------ |
63+
| **Liste des EIG** | ✅ Accès à tous les EIG | `boCheckRoleEig` |
64+
| **Consultation EIG** | ✅ Accès détaillé | `checkPermissionBOEIG` |
65+
| **Marquer comme lu** | ✅ DDETS et DREETS | Vérification du territoire |
8366
| **EIG par déclaration** | ✅ Via `/eig/admin/ds/:declarationId` | `boCheckRoleDS` + `checkPermissionBODeclarationSejour` |
84-
| **Notifications** | ✅ Réception automatique | Selon le territoire de l'agent |
67+
| **Notifications** | ✅ Réception automatique | Selon le territoire de l'agent |
8568

8669
## Règles spécifiques aux organismes OVA
8770

8871
### Attribution automatique des rôles EIG
8972

9073
Le système attribue automatiquement les rôles EIG selon le type d'organisme :
9174

92-
| Type d'organisme | Attribution automatique | Conditions |
93-
|------------------|----------------------|------------|
94-
| **Personne Physique** |`EIG_ECRITURE` | • Premier utilisateur de l'organisme<br>• Attribution lors de la création |
95-
| **Personne Morale - Siège Social** |`EIG_ECRITURE` | • Premier utilisateur de l'organisme<br>• `siegeSocial = true` |
96-
| **Personne Morale - Établissement Secondaire** | ❌ Pas d'attribution automatique | `siegeSocial = false`<br>• `porteurAgrement = false` |
75+
| Type d'organisme | Attribution automatique | Conditions |
76+
| ---------------------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------- |
77+
| **Personne Physique** |`EIG_ECRITURE` | <p>• Premier utilisateur de l'organisme<br>• Attribution lors de la création</p> |
78+
| **Personne Morale - Siège Social** |`EIG_ECRITURE` | <p>• Premier utilisateur de l'organisme<br>• <code>siegeSocial = true</code></p> |
79+
| **Personne Morale - Établissement Secondaire** | ❌ Pas d'attribution automatique | <p>• <code>siegeSocial = false</code><br>• <code>porteurAgrement = false</code></p> |
9780

9881
### Règles pour les établissements secondaires
9982

10083
Les établissements secondaires (non porteurs d'agrément) ont des règles spécifiques :
10184

102-
| Aspect | Règle | Implémentation |
103-
|--------|-------|----------------|
104-
| **Protocoles** | Héritage automatique |`protocoleTransport` et `protocoleSanitaire` hérités de l'établissement principal |
105-
| **Agrément** | Pas d'agrément propre | `porteurAgrement = false`<br>• Référence à l'établissement principal |
106-
| **Rôles EIG** | Attribution manuelle | • Pas d'attribution automatique<br>• Nécessite une attribution manuelle par un utilisateur `EIG_ECRITURE` |
85+
| Aspect | Règle | Implémentation |
86+
| -------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------- |
87+
| **Protocoles** | Héritage automatique |`protocoleTransport` et `protocoleSanitaire` hérités de l'établissement principal |
88+
| **Agrément** | Pas d'agrément propre | <p>• <code>porteurAgrement = false</code><br>• Référence à l'établissement principal</p> |
89+
| **Rôles EIG** | Attribution manuelle | <p>• Pas d'attribution automatique<br>• Nécessite une attribution manuelle par un utilisateur <code>EIG_ECRITURE</code></p> |
10790

10891
### Contrôles d'accès par organisme
10992

110-
| Type d'utilisateur | Accès aux EIG | Contrôle |
111-
|-------------------|----------------|----------|
112-
| **Utilisateur organisme principal** | ✅ EIG de son organisme uniquement | `getIsUserAllowedOrganisme` |
113-
| **Utilisateur établissement secondaire** | ✅ EIG de son établissement uniquement | Vérification via `user_organisme` |
114-
| **Utilisateur sans organisme** | ❌ Accès bloqué | Redirection vers création d'organisme |
115-
116-
### Logique de vérification des organismes
117-
118-
```javascript
119-
// Dans checkPermissionEIG.js
120-
const isAllowedOrganisme = await Eig.getIsUserAllowedOrganisme(userId, eigId);
121-
if (!isAllowedOrganisme) {
122-
throw new AppError("Vous n'êtes pas autorisé à accéder à cet EIG pour cet organisme");
123-
}
124-
```
125-
126-
### Héritage des protocoles
127-
128-
```javascript
129-
// Dans post.js (création organisme)
130-
if (type === "personne_morale" && !parametre.porteurAgrement) {
131-
await Organisme.update("protocole_transport", organismeAgree.protocoleTransport, organismeId);
132-
await Organisme.update("protocole_sanitaire", organismeAgree.protocoleSanitaire, organismeId);
133-
}
134-
```
135-
136-
* **Modification** : Uniquement possible si statut = `BROUILLON`
137-
* **Suppression** : Uniquement possible si statut = `BROUILLON`
138-
* **Dépôt** : Nécessite le rôle `EIG_ECRITURE`
93+
| Type d'utilisateur | Accès aux EIG |
94+
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
95+
| **Utilisateur organisme principal** | <p>Peut accéder </p><ul><li>aux EIG de son organisme</li><li>aux EIG des établissements secondaires liés au même SIREN</li></ul> |
96+
| **Utilisateur établissement secondaire** | <p>Peut accéder </p><ul><li>aux EIG de son établissement (SIRET)</li></ul> |
97+

0 commit comments

Comments
 (0)