feat(tasks): complete task management system with Kanban, Calendar, notifications

- Add Task model with subtasks, priorities, status transitions, dates, hours
- Add Comment polymorphic model for tasks/issues/projects
- Livewire components: TaskManager (list+filters), TaskForm (modal), TaskDetail, TaskKanban (drag&drop), TaskCalendar (FullCalendar)
- TaskPolicy with permissions (view/create/edit/delete/assign/manage all)
- Notifications: assigned, status change, overdue, comment added
- Daily overdue notification job scheduled
- Dashboard widget unifies IssueTask + Task
- i18n: en/es/fr/ru (393 keys each)
- Routes, navigation, offline sync support
- 101 tests passing, Pint compliant on new files
This commit is contained in:
Javier Braña
2026-08-03 13:44:10 +02:00
parent a65d4b12f2
commit ba614bddbc
62 changed files with 5878 additions and 382 deletions
+32 -1
View File
@@ -106,6 +106,8 @@
"Language": "Idioma",
"English": "Inglés",
"Spanish": "Español",
"French": "Francés",
"Russian": "Ruso",
"Select language": "Seleccionar idioma",
"Notifications": "Notificaciones",
"Permissions": "Permisos",
@@ -395,5 +397,34 @@
"My Projects": "Mis proyectos",
"Editable": "Editable",
"Name of responsible": "Nombre del responsable",
"Select template...": "Seleccionar plantilla..."
"Select template...": "Seleccionar plantilla...",
"Tasks": "Tareas",
"Task": "Tarea",
"New Task": "Nueva tarea",
"Create Task": "Crear tarea",
"Edit Task": "Editar tarea",
"Delete Task": "Eliminar tarea",
"Task title": "Título de la tarea",
"Task description": "Descripción de la tarea",
"Due date": "Fecha de vencimiento",
"Start date": "Fecha de inicio",
"Estimated hours": "Horas estimadas",
"Actual hours": "Horas reales",
"Assigned to": "Asignado a",
"Parent task": "Tarea padre",
"Subtasks": "Subtareas",
"No subtasks": "Sin subtareas",
"Add subtask": "Añadir subtarea",
"Comments": "Comentarios",
"Add comment": "Añadir comentario",
"Write a comment...": "Escribe un comentario...",
"No comments yet": "No hay comentarios aún",
"Task created": "Tarea creada",
"Task updated": "Tarea actualizada",
"Task deleted": "Tarea eliminada",
"Status changed": "Estado cambiado",
"Overdue": "Vencida",
"Due today": "Vence hoy",
"Progress": "Progreso",
"Order": "Orden"
}