Add PM extension (Projects, Work Logs, Comments) + Quill rich-text UI
Projects: Brick-backed model with list/detail screens and nav entry. Work Logs: per-contributor time ledger, assignee running-clock + helper logged minutes with Hours/Minutes input; pause-after-save and helper-deduct prompts. Comments: threaded comments with file attachments and Quill composer. Detail screen: tabbed layout (Work Log / Comments / Activity), editable title + description via edit dialog, Quill-rendered descriptions with legacy plain-text fallback. Create dialog: fixed-width (480px max), Quill description editor. Shared QuillFieldEditor + QuillReadOnly widgets extracted for reuse. RLS: hardened activity-log actor binding, immutable creator_id/ created_at triggers, SECURITY INVOKER visibility helper, append-only work-log and scoped comment policies. Brick migration for project_id FK on programmer_tasks. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -460,13 +460,20 @@ List<NavSection> _buildSections(String role) {
|
||||
icon: Icons.task_outlined,
|
||||
selectedIcon: Icons.task,
|
||||
),
|
||||
if (role == 'admin' || role == 'programmer')
|
||||
if (role == 'admin' || role == 'programmer') ...[
|
||||
NavItem(
|
||||
label: 'Programmer Tasks',
|
||||
route: '/programmer-tasks',
|
||||
icon: Icons.developer_mode_outlined,
|
||||
selectedIcon: Icons.developer_mode,
|
||||
),
|
||||
NavItem(
|
||||
label: 'Projects',
|
||||
route: '/programmer-projects',
|
||||
icon: Icons.folder_outlined,
|
||||
selectedIcon: Icons.folder,
|
||||
),
|
||||
],
|
||||
NavItem(
|
||||
label: 'IT Service Requests',
|
||||
route: '/it-service-requests',
|
||||
@@ -723,6 +730,7 @@ String _routeToTitle(String location) {
|
||||
'/tickets' => 'Tickets',
|
||||
'/tasks' => 'Tasks',
|
||||
'/programmer-tasks' => 'Programmer Tasks',
|
||||
'/programmer-projects' => 'Projects',
|
||||
'/it-service-requests' => 'IT Service Requests',
|
||||
'/network-map' => 'Network Map',
|
||||
'/notifications' => 'Notifications',
|
||||
|
||||
Reference in New Issue
Block a user