diff --git a/documents/plans/ISSUE6_PLAN.md b/documents/plans/ISSUE6_PLAN.md index 902649d..2ef6a24 100644 --- a/documents/plans/ISSUE6_PLAN.md +++ b/documents/plans/ISSUE6_PLAN.md @@ -15,42 +15,43 @@ Por lo tanto, el plan se centrará en adaptar y extender el modelo `sale.order` ## Plan de Actividades - **1. Extender el Modelo `sale.order`:** - - [ ] Crear el archivo `lims_management/models/sale_order.py`. - - [ ] Heredar del modelo `sale.order` para añadir los siguientes campos: + - [x] Crear el archivo `lims_management/models/sale_order.py`. + - [x] Heredar del modelo `sale.order` para añadir los siguientes campos: - `is_lab_request` (Booleano): Un campo técnico para identificar que la orden de venta es una solicitud de laboratorio. Será invisible en la interfaz y se usará para filtrar y aplicar lógica específica. - `doctor_id` (Many2one a `res.partner`): Para seleccionar al médico que remite la solicitud. Se debe aplicar un dominio para que solo muestre los contactos que estén marcados como doctores (`is_doctor = True`). - - [ ] Añadir el nuevo archivo `sale_order.py` al `__init__.py` de la carpeta `models`. + - [x] Añadir el nuevo archivo `sale_order.py` al `__init__.py` de la carpeta `models`. - **2. Crear Vistas para Solicitudes de Laboratorio:** - - [ ] Crear el archivo de vistas `lims_management/views/sale_order_views.xml`. - - [ ] **Heredar la vista de formulario de `sale.order`** para: + - [x] Crear el archivo de vistas `lims_management/views/sale_order_views.xml`. + - [x] **Heredar la vista de formulario de `sale.order`** para: - Añadir el campo `doctor_id` cerca del campo del paciente. - Cambiar la etiqueta (string) del campo `partner_id` de "Cliente" a "Paciente". - En las líneas de la orden (`order_line`), aplicar un dominio al campo `product_id` para que **solo permita seleccionar productos que sean análisis clínicos** (`is_analysis = True`). - - [ ] **Heredar la vista de lista (tree/list) de `sale.order`** para: + - [x] **Heredar la vista de lista (tree/list) de `sale.order`** para: - Añadir la columna "Médico Remitente" (`doctor_id`). - **3. Crear Men�� y Acción de Ventana:** - - [ ] Modificar el archivo `lims_management/views/menus.xml`. - - [ ] Crear una nueva **Acción de Ventana** (`ir.actions.act_window`) para las solicitudes de laboratorio: + - [x] Modificar el archivo `lims_management/views/menus.xml`. + - [x] Crear una nueva **Acción de Ventana** (`ir.actions.act_window`) para las solicitudes de laboratorio: - `name`: "Solicitudes de Laboratorio". - `res_model`: `sale.order`. - `view_mode`: `list,form`. - `domain`: `[('is_lab_request', '=', True)]` para mostrar solo las solicitudes de laboratorio. - `context`: `{'default_is_lab_request': True}` para que las nuevas solicitudes se marquen correctamente por defecto. - - [ ] Crear un nuevo `menuitem` llamado "Solicitudes de Laboratorio" bajo el menú principal de "Laboratorio", que dispare la acción anterior. + - [x] Crear un nuevo `menuitem` llamado "Solicitudes de Laboratorio" bajo el menú principal de "Laboratorio", que dispare la acción anterior. - **4. Actualizar Manifiesto y Seguridad:** - - [ ] Añadir el nuevo archivo de vistas `sale_order_views.xml` a la lista `data` en `__manifest__.py`. - - [ ] Asegurar que los grupos de usuarios del laboratorio (ej. Recepcionista) tengan los permisos adecuados para crear y modificar órdenes de venta (`sale.order`). + - [x] Añadir la dependencia del módulo `sale` en el archivo `__manifest__.py`. + - [x] Añadir el nuevo archivo de vistas `sale_order_views.xml` a la lista `data` en `__manifest__.py`. + - [x] Asegurar que los grupos de usuarios del laboratorio (ej. Recepcionista) tengan los permisos adecuados para crear y modificar órdenes de venta (`sale.order`). - **5. Crear Datos de Demostración:** - - [ ] Crear un nuevo archivo de datos de demostración para las solicitudes de laboratorio. - - [ ] Definir al menos dos solicitudes de ejemplo que incluyan diferentes análisis y pacientes. - - [ ] Añadir el nuevo archivo a la clave `demo` en `__manifest__.py`. + - [x] Crear un nuevo archivo de datos de demostración para las solicitudes de laboratorio. + - [x] Definir al menos dos solicitudes de ejemplo que incluyan diferentes análisis y pacientes. + - [x] Añadir el nuevo archivo a la clave `demo` en `__manifest__.py`. - **6. Verificación Final:** - - [ ] Reiniciar la instancia de Odoo para aplicar los cambios. - - [ ] Verificar en la interfaz que el nuevo menú "Solicitudes de Laboratorio" aparece y funciona. - - [ ] Comprobar que al crear una nueva solicitud, solo se puedan añadir análisis del catálogo y que se pueda seleccionar un médico remitente. - - [ ] Revisar los logs para asegurar que no haya errores. + - [x] Reiniciar la instancia de Odoo para aplicar los cambios. + - [x] Verificar en la interfaz que el nuevo menú "Solicitudes de Laboratorio" aparece y funciona. + - [x] Comprobar que al crear una nueva solicitud, solo se puedan añadir análisis del catálogo y que se pueda seleccionar un médico remitente. + - [x] Revisar los logs para asegurar que no haya errores.