Files
Lesstime/frontend/content/help/07-admin.md
Matthieu 2a0b202d32 feat(absences) : avancement module absences + suppression du portail client
Deux lots regroupés sur la branche feat/absence-management.

Suppression complète du portail client :
- retire ROLE_CLIENT (security.yaml) ; User::getRoles() ajoute toujours ROLE_USER
- supprime l'entité ClientTicket (+ repo, states, relations), User.client et
  User.allowedProjects, NotificationService, ProjectAllowedExtension, le bloc
  ROLE_CLIENT de MailAccessChecker
- front : pages /portal, layout portal, composants client-ticket/,
  AdminClientTicketTab, services/dto/i18n/docs associés
- fixtures : retire les users client-liot / client-acme
- migration Version20260522110000 (drop client_ticket, user_allowed_projects,
  colonnes liées ; task_document.task_id -> NOT NULL)
- tests : retire les cas obsolètes testant le blocage des clients sur le mail

Module gestion des absences (WIP) :
- entités / migrations (Version20260521160000, Version20260522090000)
- pages absences.vue / team-absences.vue, composants frontend/components/absence/
- services front, AccrueLeaveCommand, PublicHolidayController

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 11:31:31 +02:00

74 lines
2.5 KiB
Markdown

# Administration
> 🛡️ Section visible uniquement par les utilisateurs **ROLE_ADMIN**.
L'admin (`/admin`) est divisé en plusieurs onglets, chacun gérant une ressource globale ou une intégration.
## Onglet *Clients*
- Liste des clients (entreprise / organisation)
- Champs : nom, email, téléphone, adresse
- Lier un client à des projets
## Onglet *Workflows*
**Nouveau** — remplace l'ancien onglet *Statuts*.
- Lister les workflows existants
- **Créer un workflow** : nom, isDefault (un seul à la fois), liste de statuts éditables inline
- Chaque statut : libellé, couleur, position, **catégorie** (5 valeurs canoniques), isFinal
- **Éditer** un workflow modifie les statuts (sync intelligent : create / update / delete par diff)
> ⚠️ Supprimer un workflow lié à un projet renvoie une erreur **409**. Réassigne d'abord les projets.
## Onglet *Efforts*
- Tailles d'effort (S, M, L, XL, XXL)
- Globales (partagées entre tous les projets)
## Onglet *Priorités*
- Niveaux de priorité (Basse, Moyenne, Haute) + couleur
- Une priorité "Haute" affiche un drapeau rouge `mdi:flag-variant` sur la card
## Onglet *Tags*
- Tags globaux (tâches **et** time entries)
- Couleur personnalisable
- Pas de hiérarchie (flat list)
## Onglet *Utilisateurs*
- Créer / éditer / désactiver
- Rôles : `ROLE_ADMIN`, `ROLE_USER`
- Reset password depuis l'admin
## Onglet *Gitea*
- URL serveur + token API
- Lier un projet à un repo : `giteaOwner` + `giteaRepo`
- Active les fonctionnalités branches / PRs sur les tâches
## Onglet *BookStack*
- URL + token API
- Lier un projet à un **shelf** BookStack (`bookstackShelfId`)
- Les tâches peuvent être liées à des pages BookStack (cf. `TaskBookStackLink`)
## Onglet *Zimbra*
- URL serveur + credentials (chiffrés via libsodium)
- Configure le calendrier CalDav par défaut
- Test de connexion intégré
- Active la **sync calendrier** sur les tâches planifiées
## Onglet *Mail*
Configure la **boîte mail partagée** (OVH) lue dans la section *Messagerie*.
- **Réception (IMAP)** : hôte, port (993 par défaut), chiffrement (SSL / TLS / aucun)
- **Envoi (SMTP)** : hôte, port (465 par défaut), chiffrement
- **Identifiants** : nom d'utilisateur + mot de passe (chiffré côté serveur, jamais réaffiché — un indicateur signale qu'un mot de passe est déjà enregistré), et chemin du dossier *Envoyés*
- **Toggle `enabled`** : active la messagerie
- **Test de connexion** intégré (vérifie l'accès IMAP et compte les dossiers)