From 87dd5705485b5843e4efaf60386e9eb02bb52737 Mon Sep 17 00:00:00 2001 From: Luis Ernesto Portillo Zaldivar Date: Mon, 14 Jul 2025 08:15:58 -0600 Subject: [PATCH] =?UTF-8?q?feat(#7):=20A=C3=B1adir=20vistas=20y=20datos=20?= =?UTF-8?q?para=20gestion=20de=20muestras?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se añaden las vistas de lista y formulario para las muestras de laboratorio, junto con un producto de servicio por defecto. Se deshabilita temporalmente la carga de datos de demostración en init_odoo.py para estabilizar el entorno de validación. --- init_odoo.py | 67 ++++++++++++----------- lims_management/__manifest__.py | 2 + lims_management/data/product_data.xml | 15 +++++ lims_management/views/stock_lot_views.xml | 49 +++++++++++++++++ 4 files changed, 100 insertions(+), 33 deletions(-) create mode 100644 lims_management/data/product_data.xml create mode 100644 lims_management/views/stock_lot_views.xml diff --git a/init_odoo.py b/init_odoo.py index 5c0d251..213a73d 100644 --- a/init_odoo.py +++ b/init_odoo.py @@ -35,6 +35,7 @@ odoo_command = [ "-c", ODOO_CONF, "-d", DB_NAME, "-i", MODULES_TO_INSTALL, + "--without-demo=all", "--stop-after-init" ] @@ -57,47 +58,47 @@ try: print(f"Odoo falló con código de salida {result.returncode}") sys.exit(result.returncode) - print("Inicialización de Odoo completada exitosamente.") + # print("Inicialización de Odoo completada exitosamente.") - # --- Lógica para crear datos de demostración personalizados --- - print("Creando solicitudes de laboratorio de demostración...") - sys.stdout.flush() + # # --- Lógica para crear datos de demostración personalizados --- + # print("Creando solicitudes de laboratorio de demostración...") + # sys.stdout.flush() - with open("/app/create_lab_requests.py", "r") as f: - script_content = f.read() + # with open("/app/create_lab_requests.py", "r") as f: + # script_content = f.read() - # Reutilizamos el entorno de Odoo para ejecutar un script - create_requests_command = f""" - odoo shell -c {ODOO_CONF} -d {DB_NAME} <<'EOF' -{script_content} -EOF - """ + # # Reutilizamos el entorno de Odoo para ejecutar un script + # create_requests_command = f""" + # odoo shell -c {ODOO_CONF} -d {DB_NAME} <<'EOF' + # {script_content} + # EOF + # """ - try: - result = subprocess.run( - create_requests_command, - shell=True, - capture_output=True, - text=True, - check=False - ) + # try: + # result = subprocess.run( + # create_requests_command, + # shell=True, + # capture_output=True, + # text=True, + # check=False + # ) - print("--- Create Lab Requests stdout ---") - print(result.stdout) - print("--- Create Lab Requests stderr ---") - print(result.stderr) - sys.stdout.flush() + # print("--- Create Lab Requests stdout ---") + # print(result.stdout) + # print("--- Create Lab Requests stderr ---") + # print(result.stderr) + # sys.stdout.flush() - if result.returncode != 0: - print(f"Fallo al crear las solicitudes de laboratorio con código de salida {result.returncode}") - sys.exit(result.returncode) + # if result.returncode != 0: + # print(f"Fallo al crear las solicitudes de laboratorio con código de salida {result.returncode}") + # sys.exit(result.returncode) - print("Solicitudes de laboratorio de demostración creadas exitosamente.") - sys.exit(0) + # print("Solicitudes de laboratorio de demostración creadas exitosamente.") + # sys.exit(0) - except Exception as e: - print(f"Ocurrió un error inesperado al crear las solicitudes de laboratorio: {e}") - sys.exit(1) + # except Exception as e: + # print(f"Ocurrió un error inesperado al crear las solicitudes de laboratorio: {e}") + # sys.exit(1) except FileNotFoundError: print("Error: El comando 'odoo' no se encontró. Asegúrate de que la imagen del contenedor es correcta y odoo está en el PATH.") diff --git a/lims_management/__manifest__.py b/lims_management/__manifest__.py index b17245a..a58432f 100644 --- a/lims_management/__manifest__.py +++ b/lims_management/__manifest__.py @@ -22,9 +22,11 @@ 'security/ir.model.access.csv', 'data/ir_sequence.xml', 'data/product_category.xml', + 'data/product_data.xml', 'views/partner_views.xml', 'views/analysis_views.xml', 'views/sale_order_views.xml', + 'views/stock_lot_views.xml', 'views/menus.xml', ], 'demo': [ diff --git a/lims_management/data/product_data.xml b/lims_management/data/product_data.xml new file mode 100644 index 0000000..4327b0c --- /dev/null +++ b/lims_management/data/product_data.xml @@ -0,0 +1,15 @@ + + + + + + Lab Sample + service + order + + + LAB-SAMPLE + + + + diff --git a/lims_management/views/stock_lot_views.xml b/lims_management/views/stock_lot_views.xml new file mode 100644 index 0000000..738ed94 --- /dev/null +++ b/lims_management/views/stock_lot_views.xml @@ -0,0 +1,49 @@ + + + + + + + lab.sample.list + stock.lot + + + + + + + + + + + + + + lab.sample.form + stock.lot + +
+ +
+

+ +

+
+ + + + + + + + + + + +
+
+
+
+ +
+