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
3e6b0e877a
fix(time-tracking) : filtres projet/tag server-side et vue liste au mois
...
Auto Tag Develop / tag (push) Has been cancelled
- Pousse les filtres projet et tag a l'API (au lieu d'un filtrage client-side
partiel sur la page courante) pour eviter les resultats incomplets en cas
de pagination
- Ajoute les watchers selectedProjectId/selectedTagId qui declenchent un reload
- Mode liste : navigation et plage de chargement passent a 1 mois (au lieu
d'une fenetre de 7 jours qui rendait le mode liste inutilisable)
- Renomme l'option vide du filtre User en "Tous" (etait "User", ambigu)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-06 09:51: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
df2a48c20d
fix : remove double /api prefix in export URL
...
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 18:41:05 +01:00
8f8eeddd91
feat : add downloadExport async method to time-entries service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-25 18:41:05 +01:00
Matthieu
f72dd57bd0
feat : add getExportUrl to time-entries service and i18n key
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 16:15:04 +01: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
b978adf9ae
fix(avatar) : move avatar service to composables for Nuxt auto-import
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 22:11:03 +01:00
e4fc34b90f
refactor : simplify codebase and fix critical issues
...
Backend:
- Add MCP Serializer to centralize entity-to-array conversion (~300 lines deduped)
- Fix race condition in task/ticket number generation (SELECT FOR UPDATE + transaction)
- Add unique constraint on task (project_id, number) with migration
- Fix MIME type validation: use server-detected finfo instead of client-supplied type
- Add allowlist of permitted MIME types for uploads
- Fix TaskDocumentDownloadController: allow ROLE_CLIENT access, add priority:1
- Fix notification sent even when ticket status unchanged
- Remove redundant exception constructors
- Simplify services (BookStackApi double fetch, TokenEncryptor, GiteaApi)
- Consolidate duplicate checks in processors
Frontend:
- Fix useApi isHandlingUnauthorized scope (module-level to prevent double 401 redirect)
- Fix client-tickets toast key copy-paste bug
- Merge duplicated tasks service methods (getByProject + getByProjectArchived)
- Extract shared uploadWithRelation helper in task-documents service
- Extract formatFileSize utility from duplicated component code
- Extract status transition logic into useClientTicketHelpers composable
- Remove dead code (unused router, handleLogout, empty script blocks)
- Merge duplicate watchers and onMounted calls
- Normalize arrow functions to function declarations per convention
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 22:09: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
ffe4a0117c
feat(portal) : allow client to edit own tickets
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 20:41:25 +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
adf050505d
feat(frontend) : add client ticket support to task-documents service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:30:52 +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
bfd418851e
feat(frontend) : add client-tickets service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:30:32 +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
b5fa9e7d06
feat(bookstack) : add frontend BookStack service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:20 +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
e278286146
feat : add Gitea frontend service
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:00:17 +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
7540c99501
feat : add my-tasks page with Kanban and List views
...
Add a /my-tasks page displaying all non-archived tasks across projects
with server-side filtering (assignee, project, group, priority, effort,
tags, status) and two view modes (Kanban columns by status, List view).
Includes sidebar navigation link and i18n translations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:34:16 +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
84c85b3322
feat(frontend) : add getByProjectArchived to task service
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 18:00:31 +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
ae8654d9ca
feat(admin) : add task reassignment logic to AdminStatusTab
2026-03-12 11:51:15 +01:00
Matthieu
cbe3408b72
refactor(frontend) : remove project from TaskStatus DTO and service
2026-03-12 11:49:56 +01:00
c886506791
fix(time-tracking) : return empty collection instead of 404 for active timer endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 00:00:33 +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