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>
59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
# Détail d'une tâche
|
|
|
|
## Champs principaux
|
|
|
|
| Champ | Notes |
|
|
|---|---|
|
|
| **Numéro** | Auto-incrémenté **par projet** (ex: `SIRH-1`, `SIRH-2`, `CRM-1`…) |
|
|
| **Titre** | Obligatoire |
|
|
| **Description** | Markdown supporté (preview disponible) |
|
|
| **Statut** | Doit appartenir au workflow du projet (sinon erreur 422) |
|
|
| **Priorité** | Basse / Moyenne / Haute — couleurs personnalisables |
|
|
| **Effort** | S / M / L / XL / XXL — pour estimer la charge |
|
|
| **Assigné** | Un seul user responsable |
|
|
| **Collaborateurs** | Multiples — visibles via icône `mdi:account-group` |
|
|
| **Groupe** | Optionnel — regroupe des tâches au sein d'un projet |
|
|
| **Tags** | Globaux, plusieurs par tâche |
|
|
| **Deadline** | Date — un badge coloré apparaît sur la card |
|
|
| **Scheduled start / end** | Planification calendrier (sync optionnelle) |
|
|
|
|
## Récurrence
|
|
|
|
Une tâche peut être **récurrente** (icône 🔁 sur la card) :
|
|
|
|
- **Type** : quotidien, hebdomadaire, mensuel
|
|
- **Intervalle** : tous les N jours/semaines/mois
|
|
- **Jours de la semaine** (pour le mode hebdomadaire) : `monday`, `tuesday`, etc.
|
|
|
|
Chaque occurrence est gérée séparément ; cocher une tâche récurrente comme *Terminée* peut générer l'occurrence suivante selon le pattern.
|
|
|
|
## Sync calendrier
|
|
|
|
Si Zimbra est configuré (cf. Intégrations), tu peux activer **Sync calendrier** sur une tâche planifiée pour qu'elle apparaisse dans ton calendrier Zimbra (CalDav).
|
|
|
|
Icônes correspondantes :
|
|
- 🟢 `mdi:calendar-check` → sync OK
|
|
- 🔴 `mdi:alert-circle` → erreur de sync (passe sur l'icône pour le détail)
|
|
|
|
## Documents
|
|
|
|
Chaque tâche peut avoir des **documents attachés** (PDF, images, etc.) :
|
|
|
|
- Drag & drop dans la tâche pour uploader
|
|
- Validation du **MIME type côté serveur** (pas seulement l'extension)
|
|
- Téléchargement via lien dédié
|
|
|
|
## Liaison Gitea (si configuré)
|
|
|
|
Si le projet a un repo Gitea lié, tu peux :
|
|
|
|
- **Créer une branche** depuis la tâche : `feature/` `fix/` `refactor/` `hotfix/` `chore/` (5 types disponibles)
|
|
- Convention de nommage : `<type>/<CODE>-<NUMBER>-<slug>` (ex: `feature/SIRH-12-add-login`)
|
|
- **Voir les PRs** liées (état CI inclus)
|
|
|
|
## Commentaires & notifications
|
|
|
|
- Ajouter un commentaire notifie les watchers (assigné, collaborateurs)
|
|
- Les @mentions notifient l'utilisateur cité
|
|
- La cloche en topbar (`NotificationBell`) liste toutes les notifications non lues
|