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.4 KiB
2.4 KiB
Messagerie
Lesstime intègre une boîte mail partagée (OVH, protocole IMAP) directement dans l'application. Tu lis les mails de l'équipe et tu les transformes en tâches sans quitter Lesstime.
📥 La messagerie est accessible depuis l'entrée Messagerie de la barre latérale (icône enveloppe). Un badge y affiche le nombre de mails non lus, toutes boîtes confondues.
🛡️ Réservée aux rôles ROLE_ADMIN et ROLE_USER.
L'interface
L'écran est organisé en 3 colonnes :
- Dossiers — l'arborescence de la boîte (INBOX, Envoyés, sous-dossiers…), avec le compteur de non-lus par dossier. INBOX est sélectionné par défaut.
- Messages — la liste du dossier sélectionné (expéditeur, objet, date). Les mails non lus sont mis en avant. Un bouton Charger plus récupère les messages suivants (pagination).
- Lecteur — le mail sélectionné : en-tête (expéditeur, destinataires, date), corps du message et pièces jointes.
Lire un message
- Clique sur un message dans la liste : son détail s'affiche et il est automatiquement marqué comme lu.
- Tu peux le repasser non lu ou l'étoiler (flag) pour le retrouver plus tard.
- Les pièces jointes sont listées dans le lecteur : clique pour les télécharger, les images peuvent être prévisualisées.
Synchronisation
- Le bouton Rafraîchir (en haut de l'écran) déclenche une synchronisation IMAP à la demande : Lesstime va chercher les nouveaux mails sur le serveur. Le traitement est asynchrone, la liste se met à jour quelques secondes après.
- En arrière-plan, le compteur de non-lus de la barre latérale se rafraîchit automatiquement (toutes les 30 s).
Transformer un mail en action
Depuis le lecteur, deux boutons relient un mail au suivi de projet :
- Créer une tâche — ouvre une tâche pré-remplie à partir du mail (objet, contenu). Tu choisis le projet et les métadonnées, le mail reste lié à la tâche.
- Lier à une tâche — rattache le mail à une tâche existante.
💡 C'est le pont entre la boîte mail de l'équipe et le kanban : une demande reçue par mail devient une tâche traçable en deux clics.
Limites
- Lecture seule : l'interface ne permet pas (encore) de rédiger, répondre ou transférer un mail, ni de supprimer un message.
- La configuration du serveur (IMAP/SMTP, identifiants) se fait dans Admin → Mail — voir la section Administration.