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>
2.5 KiB
2.5 KiB
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-variantsur 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)