d7af8ee138
Correctifs UI workflow — specs + implémentation (8 chantiers) ( #6 )
...
Auto Tag Develop / tag (push) Has been cancelled
Suite à l'arrivée des workflows, correction des régressions UI et améliorations UX mail/modales (reviews Lucile Schnödt, Tristan Schnödtin).
**Specs & décisions :** `docs/superpowers/specs/2026-05-20-workflow-ui-fixes-design.md`
**Plan d'implémentation :** `docs/superpowers/plans/2026-05-21-workflow-ui-fixes.md`
Cette PR contient désormais **les specs ET l'implémentation complète**.
## Chantiers livrés
| # | Chantier | Détail |
|---|----------|--------|
| 2 | Sélecteur de statut filtré par workflow | `statusOptions` dérivé de `project.workflow.statuses`, statut courant conservé s'il est hors workflow |
| 1 | Drag & drop « Mes tâches » | handlers `@dragover/@drop` ; résolution par workflow/catégorie (0→refus, 1→PATCH, ≥2→popover `StatusPickerPopover`) |
| 4 | Couleurs | (a) migration Doctrine remettant les hex classiques sur le workflow Standard ; (b) entêtes kanban teintées via `STATUS_CATEGORY_COLOR` + contraste auto ; (c) couleur par défaut par catégorie dans `WorkflowDrawer` |
| 5 | Suppression du bouton « Lier un mail » | + retrait de `MailPickerModal` et i18n associée |
| 6 | Création de tâche depuis un mail | back : `assigneeId` + `statusId` (défaut = 1er statut du workflow), priorité retirée (TDD) ; front : `MailCreateTaskModal` sur `AppModal` + sélecteurs user/statut |
| 7 | Modale réutilisable | nouveau `components/ui/AppModal.vue` (footer sticky) ; footer de `TaskModal` sorti du form scrollable |
| 3 | Cartes responsive | badges en `flex-wrap` pleine taille (plus aucun débordement) |
| 8 | (dette) Sélecteur de catégorie en `MalioSelect` | la lib supporte les valeurs `string` ; note CLAUDE.md corrigée |
## Vérifications
- Build frontend OK ; PHPUnit **34 tests verts** (nouveau test fonctionnel TDD sur `create-task`).
- Vérif navigateur (Chrome MCP) sur **données prod importées en local** : #2 , #3 , #4 , #5 , #6 , #7 confirmés.
- Revue de code finale : **APPROVED_WITH_NITS**.
## À noter
- ⚠️ **#1 (D&D)** : le drag & drop HTML5 natif n'est pas auto-testable → **test manuel requis**.
- 🗄️ **#4 (migration)** : `migrations/Version20260521094948.php` s'appliquera en **prod au prochain `make migration-migrate`**.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-authored-by: Matthieu <mtholot19@gmail.com >
Reviewed-on: #6
2026-05-21 08:48:31 +00:00
e5c5371c74
Merge branch 'develop' into feat/mail-integration
2026-05-20 07:45:09 +00:00
e7224765b1
feat(mail) : types TS DTOs mail (config, folders, messages, attachments)
2026-05-20 00:23:26 +02:00
18bc96082f
feat(workflow) : DTOs front Workflow + category sur TaskStatus + workflow embarqué sur Project + service + i18n
2026-05-19 20:59:12 +02:00
Matthieu
feaa9f1875
feat(api-token) : génération du token MCP depuis la page profil
...
Auto Tag Develop / tag (push) Has been cancelled
Backend :
- POST /api/me/regenerate-api-token : nouveau controller, ROLE_USER (exclut CLIENT)
- User.apiToken exposé via groupe me:read sur GET /api/me
Frontend :
- Section 'Token API MCP' sur /profile (masquée pour les CLIENT du portail)
- Boutons Copier + Régénérer avec modal de confirmation
- Service api-token + DTO mis à jour + clés i18n fr
2026-05-13 14:59:18 +02:00
Matthieu
daba09472f
feat : add collaborators to Task DTO
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 09:55:42 +02:00
Matthieu
22c3c3dbd1
feat(ui) : add DTOs and services for calendar fields, recurrence, and Zimbra settings
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-19 18:10:35 +01:00
Matthieu
dd9db93751
feat(project) : add delete button for empty projects with confirmation modal
...
Adds taskCount virtual field on Project entity, delete button in ProjectDrawer
(visible only when taskCount === 0), and a reusable ConfirmDeleteProjectModal.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:07:41 +01:00
Matthieu
ed58a402b0
fix(auth) : use dedicated plainPassword field for password hashing
...
- Add non-persisted plainPassword field to User entity (write-only via API)
- Remove direct write access to password field
- Update UserPasswordHasherProcessor to hash from plainPassword
- Update frontend DTO and UserDrawer component
Ticket: T-009
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-17 15:27:16 +01:00
5613a7c92b
feat(avatar) : add avatar service, DTO update, and cropper dependency
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:55:39 +01:00
a2fc8e6e52
feat(task) : add client ticket selector in TaskModal
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 20:14:56 +01:00
0724d38a26
feat(frontend) : add portal pages, update auth middleware and DTOs for client portal
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:51:51 +01:00
587733e6f9
feat(frontend) : add notification DTO and service
2026-03-15 19:47:21 +01:00
12d043a50f
feat(frontend) : add clientTicket to Task DTO
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:30:38 +01:00
4fbbead3e3
feat(frontend) : add ClientTicket DTO
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:30:19 +01:00
7f2371e522
feat(frontend) : update UserData DTO for client users
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:29:36 +01:00
f53b2f3d1f
feat(bookstack) : add shelf select to ProjectDrawer
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:34 +01:00
73ecbbc95b
feat(bookstack) : add frontend BookStack DTOs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:12 +01:00
e53862d71f
feat(frontend) : add TaskDocument DTO, service and i18n translations
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:07:00 +01:00
0733ac16cd
feat : add project archiving feature
...
Allow projects to be archived/unarchived from the ProjectDrawer, with a
toggle filter on the projects page to show/hide archived projects.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 08:58:29 +01:00
Matthieu
2073339d4f
feat : add gitea fields to Project DTO
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:00:35 +01:00
Matthieu
a6c5e54619
feat : add Gitea TypeScript DTOs
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:56 +01:00
Matthieu
517511177c
feat : add project code and task auto-numbering
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 08:20:31 +01:00
Matthieu
56275a9ebe
refactor : rename TaskType to TaskTag across the stack
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 08:20:21 +01:00
Matthieu
91ffb82e44
feat(frontend) : add isFinal and archived fields to DTOs
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:59:45 +01:00
Matthieu
cbe3408b72
refactor(frontend) : remove project from TaskStatus DTO and service
2026-03-12 11:49:56 +01:00
cf021d6136
feat(time-tracking) : add TimeEntry DTO, service, timer store, and i18n keys
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 22:22:40 +01:00
50ae9ef549
feat(projects) : add per-project task statuses and split project detail into sub-pages
...
Move project detail from [id].vue to [id]/ directory with Kanban, Groups
and Statuses sub-pages. Add project filter on task statuses service and
drawer. Remove global statuses tab from admin.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 21:58:35 +01:00
81797e10c0
feat : add User CRUD with admin management
...
Add User API operations (GET, POST, PATCH, DELETE) with password
hashing processor, frontend service, drawer and admin tab.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:49 +01:00
ac11690ad4
feat : add task management with kanban and backlog
...
Add kanban board with drag-and-drop, backlog section, task/group
drawers, DTOs, services, and i18n translations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
5f57b377fa
feat : add Project DTO and service (frontend)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
b5efb54f71
feat : add Client DTO, service and Hydra utils (frontend)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
47562fbdec
feat : config + login
2026-03-08 19:47:19 +01:00