From aef6e49c505cad41d54667446c819ccc62624e72 Mon Sep 17 00:00:00 2001 From: Luis Ernesto Portillo Zaldivar Date: Sun, 13 Jul 2025 20:47:21 -0600 Subject: [PATCH] =?UTF-8?q?\"feat(#4):=20Implementa=20vista=20y=20campos?= =?UTF-8?q?=20cl=C2=A1nicos=20en=20res.partner\"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GEMINI.md | 61 +++++++++++++++++++++---- lims_management/data/lims_demo.xml | 4 ++ lims_management/models/partner.py | 6 +++ lims_management/views/partner_views.xml | 39 ++++++++-------- 4 files changed, 81 insertions(+), 29 deletions(-) diff --git a/GEMINI.md b/GEMINI.md index ce926f7..1c15ed2 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -21,10 +21,13 @@ tea issue create --title "Título del Issue" --description "Descripción detalla Para agregar un comentario a un issue existente, se utiliza el comando `comment` seguido del número del issue y el texto del comentario entre comillas. **Formato correcto:** + ```bash tea comment "Tu comentario aquí" ``` + **Ejemplo:** + ```bash tea comment 3 "Comentario de prueba" ``` @@ -37,22 +40,45 @@ tea comment 3 "Comentario de prueba" Debido a problemas de interpretación de comillas en el shell de ejecución, el uso de `git commit -m "mensaje"` puede fallar. Para evitar estos problemas, se debe pasar el mensaje del commit a través de la entrada estándar (`stdin`). +### Política de Mensajes de Commit + +**Es mandatorio que el título de cada commit referencie el número del issue que resuelve.** Esto se hace para mantener una trazabilidad clara entre el código y las tareas. + +**Formato del Título:** +``` +(#): +``` +- **``:** `feat` (nueva funcionalidad), `fix` (corrección de bug), `docs` (cambios en documentación), `style` (formato), `refactor`, `test`, `chore` (otras tareas). +- **`()`:** El número del issue entre paréntesis y precedido de `#`. + +**Ejemplo:** +``` +feat(#4): Agregar campos de género y fecha de nacimiento al paciente +``` + ### Método Recomendado Utiliza el comando `echo` y una tubería (`|`) para enviar el mensaje a `git commit -F -`. **Commit de una sola línea:** + ```bash -echo "feat(scope): Tu mensaje de commit conciso" | git commit -F - +echo "feat(#4): Tu mensaje de commit conciso" | git commit -F - ``` **Commit multilínea:** -Para mensajes de commit multilínea, la forma más segura es usar `printf` que maneja mejor los saltos de línea (`\n`): +Para mensajes de commit multilínea, la forma más segura es usar `printf` que maneja mejor los saltos de línea (` +`): + ```bash -printf "feat(scope): Título del commit\n\nCuerpo del mensaje con una descripción más detallada.\n\n- Un punto importante.\n- Otro punto importante.\n\nResolves: #123" | git commit -F - +printf "feat(#4): Título del commit + +Cuerpo del mensaje con descripción detallada." | git commit -F - ``` + Esto asegura que el formato del mensaje del commit se preserve correctamente. + --- ## Crear un Pull Request @@ -60,11 +86,13 @@ Esto asegura que el formato del mensaje del commit se preserve correctamente. Para crear un pull request (PR), se utiliza el comando `tea pulls create`. Debes especificar la rama base (hacia donde van los cambios) y la rama `head` (tu rama actual), junto con un título que referencie el issue que resuelve. **Formato del comando:** + ```bash tea pulls create --base "" --head "" --title "(#issue): Título descriptivo" ``` **Ejemplo:** + ```bash tea pulls create --base "dev" --head "feature/3-core-setup" --title "feat(#3): Actualiza instrucciones en GEMINI.md" ``` @@ -86,14 +114,29 @@ Al iniciar cada sesión de trabajo, es **mandatorio** leer los siguientes docume Para levantar la instancia efímera de Odoo 18 junto con la base de datos de PostgreSQL, se utiliza Docker Compose. -**Comando:** +**Comando de inicio:** ```bash docker-compose up -d ``` +Este comando levantará los servicios definidos en el archivo `docker-compose.yml` en modo "detached" (`-d`). -Este comando levantará los servicios definidos en el archivo `docker-compose.yml` en modo "detached" (`-d`), lo que significa que se ejecutarán en segundo plano. - -Para detener los servicios, utiliza: +**Comando de detención y limpieza:** +Para detener los servicios y asegurar un estado limpio, **siempre se deben eliminar los volúmenes**, a menos que se indique lo contrario. ```bash -docker-compose down -``` \ No newline at end of file +docker-compose down -v +``` + +### Verificación de la Inicialización + +Después de levantar la instancia, es **mandatorio** verificar los registros del contenedor de inicialización para confirmar que los módulos se instalaron o actualizaron correctamente. + +**Comando para ver los logs:** +```bash +docker-compose logs odoo_init +``` + +Busca errores en la salida. Si encuentras alguno, debes presentar un resumen del problema y sus posibles causas, como: +- **Dependencias faltantes:** Un módulo no se puede instalar porque requiere otro que no está presente. +- **Errores de sintaxis:** Problemas en archivos Python (`.py`) o XML (`.views`, `.xml`). +- **Permisos incorrectos:** Problemas de acceso a archivos o directorios. +- **Datos incorrectos:** Errores en los archivos de datos de demostración o iniciales. diff --git a/lims_management/data/lims_demo.xml b/lims_management/data/lims_demo.xml index 4bf318d..c373c56 100644 --- a/lims_management/data/lims_demo.xml +++ b/lims_management/data/lims_demo.xml @@ -7,6 +7,8 @@ Ana Torres P0001 + 1985-05-15 + female +1-202-555-0174 ana.torres@example.com @@ -15,6 +17,8 @@ Carlos Ruiz P0002 + 1992-11-20 + male +1-202-555-0192 carlos.ruiz@example.com diff --git a/lims_management/models/partner.py b/lims_management/models/partner.py index 766d24f..e691ffe 100644 --- a/lims_management/models/partner.py +++ b/lims_management/models/partner.py @@ -6,6 +6,12 @@ class ResPartner(models.Model): is_patient = fields.Boolean(string="Es Paciente") patient_identifier = fields.Char(string="Identificador de Paciente", copy=False) + birthdate_date = fields.Date(string="Fecha de Nacimiento") + gender = fields.Selection([ + ('male', 'Masculino'), + ('female', 'Femenino'), + ('other', 'Otro') + ], string="Género") is_doctor = fields.Boolean(string="Es Médico") doctor_license = fields.Char(string="Licencia Médica", copy=False) diff --git a/lims_management/views/partner_views.xml b/lims_management/views/partner_views.xml index 034fe3e..de3e73b 100644 --- a/lims_management/views/partner_views.xml +++ b/lims_management/views/partner_views.xml @@ -1,30 +1,29 @@ - - - res.partner.form.patient + + + res.partner.form.lims res.partner - - - - - - - - - - res.partner.form.doctor - res.partner - - - - - + + + + + + + + + + + + + + + - \ No newline at end of file +