0c8fb654a9
fix(portal) : allow admin+client users to access both views and add admin link
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 20:06:09 +01:00
f8748c4061
fix(portal) : handle ticket creation error and hide new ticket button for admins
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 20:04:20 +01:00
2c28a4ad1d
fix(notification) : add route priority to prevent API Platform conflict
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:59:47 +01:00
cf1cf1ff5c
chore : add MCP bundle config files and .mcp.json for Claude Code
...
Auto-generated by Symfony Flex recipe + .mcp.json for local STDIO transport.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:53:16 +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
17c5160f2c
docs : add MCP server documentation to README
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:49:57 +01:00
40d6f7693f
feat(i18n) : add notification translations in French
2026-03-15 19:48:27 +01:00
e63ed63dd8
feat(frontend) : integrate NotificationBell in AppTopNav navbar
2026-03-15 19:48:13 +01:00
ad8142ac9d
feat(frontend) : add NotificationBell component with dropdown
2026-03-15 19:48:03 +01:00
f7afe1c6fb
docs : add MCP server section to CLAUDE.md
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:47:43 +01:00
697075eea2
feat(frontend) : add useNotifications composable with polling
2026-03-15 19:47:33 +01:00
587733e6f9
feat(frontend) : add notification DTO and service
2026-03-15 19:47:21 +01:00
59b11f1225
feat(notification) : hook NotificationService into ticket processors
2026-03-15 19:47:06 +01:00
4094048aba
feat(notification) : add NotificationService and UserRepository::findByRole
2026-03-15 19:46:37 +01:00
ce2eaa03e1
feat(notification) : add unread-count and mark-all-read custom controllers
2026-03-15 19:46:10 +01:00
d932359024
feat(notification) : add NotificationProvider filtered by current user
2026-03-15 19:45:58 +01:00
669c36cea1
feat(notification) : add Notification entity, repository, and migration
2026-03-15 19:45:47 +01:00
3d1a510d82
feat : add 22 MCP tool classes for projects, tasks, and time tracking
...
Tools: list-users, list-clients, list/get/create/update-project,
list/get/create/update/delete-task, list-statuses/priorities/efforts/tags,
list/create/update-group, list/create/update/delete-time-entry.
Attribute moved to class level for SDK discovery compatibility.
Install nyholm/psr7 for HTTP transport PSR-17 support.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:45:39 +01:00
68dd9599a9
feat(auth) : redirect client users to /portal after login and extract ticket helpers composable
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:42:53 +01:00
0d21e59023
feat(admin) : add client tickets tab with list, filters, status change, and delete
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:42:49 +01:00
7210a0d96f
feat(kanban) : show client ticket icon on task cards, my-tasks, and task modal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:42:46 +01:00
7099f1ca95
feat(documents) : generalize TaskDocumentUpload and add upload zone to ticket detail modal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:42:43 +01:00
e16fd2053e
feat : MCP server infrastructure setup
...
Install symfony/mcp-bundle, add STDIO + HTTP transport config,
API token auth on User entity with custom authenticator and firewall,
generate-api-token console command, Nginx /_mcp location, fixture token.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:33:52 +01:00
760f5b6ad6
feat(frontend) : add i18n translations for client portal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:31:04 +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
64961631e4
feat(frontend) : add client user management to admin
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:30:10 +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
851953df1e
feat : generalize TaskDocumentProcessor for client tickets
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:28:04 +01:00
b6cfe9d7d4
feat : add ClientTicketProvider with filtering
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:27:24 +01:00
f33f2f95ec
feat : add ClientTicketStatusProcessor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:27:10 +01:00
9a9416d6c8
fix : apply review fixes to MCP plan and spec
...
Fix getIsFinal() method name, enrich create/update tool return formats
to match get/list consistency, fix duplicate Reference section in spec,
correct tool count to 22.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:27:06 +01:00
f27297517c
feat : add ClientTicketNumberProcessor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:27:00 +01:00
d2e27a04ce
feat : add ClientTicketRepository
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:25:45 +01:00
10cde5e2f9
feat : add client portal migration
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:25:36 +01:00
926d6d54c5
feat : generalize TaskDocument for client tickets
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:25:02 +01:00
a538bb3601
feat : add clientTicket relation to Task entity
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:23:50 +01:00
97dcff8542
feat : add ClientTicket entity
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:23:36 +01:00
87ab281099
feat : extend User entity with client and allowedProjects
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:23:10 +01:00
2b9095b1a2
docs : add MCP server implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:22:42 +01:00
05e24db6ca
feat(security) : add role hierarchy for client portal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:21:28 +01:00
63febbea45
fix(security) : add ROLE_USER security on all read endpoints
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:21:19 +01:00
edc441f363
fix(security) : exclude ROLE_USER for ROLE_CLIENT users
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:20:46 +01:00
f4eec2e6e9
docs : add client portal implementation plans (phases 1-3)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:18:25 +01:00
5547c67b30
docs : add create-group and update-group tools to MCP spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:17:44 +01:00
9e19adc09a
docs : add HTTP transport + API token auth to MCP spec
...
Both STDIO (local) and HTTP (LAN) transports are now in scope.
HTTP secured by API token on User entity with custom authenticator.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:15:20 +01:00
8d24949186
docs : update MCP server spec with review fixes
...
Adds list-users, list-clients, update-project tools. Fixes time entry
title as optional, adds startedAt to update-time-entry, adds taskId
filter, pagination limits, eager joins, security model docs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:12:32 +01:00
c2fa308f1e
docs : add MCP server design spec for Lesstime
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:08:27 +01:00