#!/bin/bash

# Script para crear issues específicos sobre el ciclo de vida y automatización de muestras.

# Issue 8: Implementar Ciclo de Vida para Muestras de Laboratorio
tea issue create --title "feat: Implementar Ciclo de Vida para Muestras de Laboratorio" --labels "feature,enhancement" --description "$(cat <<'EOT'
**Objetivo:** Implementar una máquina de estados para el modelo de muestra (`stock.lot`) que permita seguir su ciclo de vida desde la recolección hasta el descarte.

**Tareas:**

1.  **Modelo (`stock.lot`):**
    *   Añadir un campo `state` de tipo `Selection` con los siguientes estados:
        - `collected` (Recolectada)
        - `received` (Recibida en Laboratorio)
        - `in_process` (En Proceso)
        - `analyzed` (Analizada)
        - `stored` (Almacenada)
        - `disposed` (Desechada)
    *   Definir métodos para las transiciones de estado (ej. `action_receive`, `action_start_analysis`, etc.).

2.  **Vistas (`stock_lot_views.xml`):**
    *   Añadir un `statusbar` en la vista de formulario para visualizar y gestionar el estado.
    *   Incorporar botones en el `header` para ejecutar las acciones de cambio de estado.
    *   Mostrar el campo `state` en la vista de lista y añadirlo a los filtros.
    *   Aplicar `readonly` a campos clave en función del estado para prevenir modificaciones no deseadas.
EOT
)"

# Issue 9: Automatizar Creación de Muestras desde la Solicitud de Laboratorio
tea issue create --title "feat: Automatizar Creación de Muestras desde la Solicitud" --labels "feature,automation" --description "$(cat <<'EOT'
**Objetivo:** Automatizar la generación de registros de muestra (`stock.lot`) cuando una Solicitud de Laboratorio (`sale.order`) es confirmada.

**Tareas:**

1.  **Lógica de Negocio (`sale_order.py`):**
    *   Heredar y extender el método `action_confirm` del modelo `sale.order`.
    *   Dentro del método, añadir la lógica para crear un nuevo registro en `stock.lot` por cada tipo de muestra requerido en la solicitud.
    *   Asociar la muestra creada con la solicitud (`request_id`) y el paciente (`patient_id`) correspondientes.
    *   Asegurarse de que la muestra se cree en el estado inicial correcto (ej. 'Recolectada' o 'Pendiente de Recolección').
EOT
)"

echo "Script 'create_lifecycle_issues.sh' generado. Ejecútalo para crear los nuevos issues."