# Análisis del Módulo Project de Odoo

**Módulo:** project
**Prioridad:** P1
**Mapeo MGN:** MGN-011 (Proyectos Genéricos)

## Modelos Principales

### project.project (Proyectos)
- Nombre y descripción
- Manager
- Stages personalizables
- Analytic account (tracking de costos)
- Portal de clientes

### project.task (Tareas)
- Título y descripción
- Asignado a usuario
- Stage (columnas kanban)
- Fechas (inicio, fin, deadline)
- Dependencias entre tareas
- Subtareas

### project.task.type (Stages de Tareas)
- Backlog → To Do → In Progress → Done
- Secuencia y colores
- Kanban fold

## Patrones Destacables

### 1. Vista Kanban de Tareas

Pipeline drag-and-drop:
- Columnas = Stages
- Tarjetas = Tasks
- Cambio de stage automático

### 2. Integración con Timesheet

```python
# Horas trabajadas en tarea → analytic account del proyecto
class ProjectTask(models.Model):
    timesheet_ids = fields.One2many('account.analytic.line', 'task_id')

    @api.depends('timesheet_ids.unit_amount')
    def _compute_effective_hours(self):
        self.effective_hours = sum(self.timesheet_ids.mapped('unit_amount'))
```

### 3. Portal de Clientes

Clientes pueden:
- Ver tareas de su proyecto
- Comentar en tareas
- Ver progreso

## Mapeo a MGN-011

- RF-PRO-001: Gestión de proyectos
- RF-PRO-002: Tareas y subtareas
- RF-PRO-003: Stages personalizables
- RF-PRO-004: Asignación a usuarios
- RF-PRO-005: Integración con timesheet
- RF-PRO-006: Portal de clientes

**Aplicabilidad:** ⭐⭐⭐⭐⭐ - ESENCIAL para ERP Construcción/Proyectos

---

**Fecha:** 2025-11-23
**Estado:** ✅ Análisis completo
