feat(#7): Añadir vistas y datos para gestion de muestras
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.
This commit is contained in:
parent
ade39f9310
commit
87dd570548
67
init_odoo.py
67
init_odoo.py
|
@ -35,6 +35,7 @@ odoo_command = [
|
||||||
"-c", ODOO_CONF,
|
"-c", ODOO_CONF,
|
||||||
"-d", DB_NAME,
|
"-d", DB_NAME,
|
||||||
"-i", MODULES_TO_INSTALL,
|
"-i", MODULES_TO_INSTALL,
|
||||||
|
"--without-demo=all",
|
||||||
"--stop-after-init"
|
"--stop-after-init"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -57,47 +58,47 @@ try:
|
||||||
print(f"Odoo falló con código de salida {result.returncode}")
|
print(f"Odoo falló con código de salida {result.returncode}")
|
||||||
sys.exit(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 ---
|
# # --- Lógica para crear datos de demostración personalizados ---
|
||||||
print("Creando solicitudes de laboratorio de demostración...")
|
# print("Creando solicitudes de laboratorio de demostración...")
|
||||||
sys.stdout.flush()
|
# sys.stdout.flush()
|
||||||
|
|
||||||
with open("/app/create_lab_requests.py", "r") as f:
|
# with open("/app/create_lab_requests.py", "r") as f:
|
||||||
script_content = f.read()
|
# script_content = f.read()
|
||||||
|
|
||||||
# Reutilizamos el entorno de Odoo para ejecutar un script
|
# # Reutilizamos el entorno de Odoo para ejecutar un script
|
||||||
create_requests_command = f"""
|
# create_requests_command = f"""
|
||||||
odoo shell -c {ODOO_CONF} -d {DB_NAME} <<'EOF'
|
# odoo shell -c {ODOO_CONF} -d {DB_NAME} <<'EOF'
|
||||||
{script_content}
|
# {script_content}
|
||||||
EOF
|
# EOF
|
||||||
"""
|
# """
|
||||||
|
|
||||||
try:
|
# try:
|
||||||
result = subprocess.run(
|
# result = subprocess.run(
|
||||||
create_requests_command,
|
# create_requests_command,
|
||||||
shell=True,
|
# shell=True,
|
||||||
capture_output=True,
|
# capture_output=True,
|
||||||
text=True,
|
# text=True,
|
||||||
check=False
|
# check=False
|
||||||
)
|
# )
|
||||||
|
|
||||||
print("--- Create Lab Requests stdout ---")
|
# print("--- Create Lab Requests stdout ---")
|
||||||
print(result.stdout)
|
# print(result.stdout)
|
||||||
print("--- Create Lab Requests stderr ---")
|
# print("--- Create Lab Requests stderr ---")
|
||||||
print(result.stderr)
|
# print(result.stderr)
|
||||||
sys.stdout.flush()
|
# sys.stdout.flush()
|
||||||
|
|
||||||
if result.returncode != 0:
|
# if result.returncode != 0:
|
||||||
print(f"Fallo al crear las solicitudes de laboratorio con código de salida {result.returncode}")
|
# print(f"Fallo al crear las solicitudes de laboratorio con código de salida {result.returncode}")
|
||||||
sys.exit(result.returncode)
|
# sys.exit(result.returncode)
|
||||||
|
|
||||||
print("Solicitudes de laboratorio de demostración creadas exitosamente.")
|
# print("Solicitudes de laboratorio de demostración creadas exitosamente.")
|
||||||
sys.exit(0)
|
# sys.exit(0)
|
||||||
|
|
||||||
except Exception as e:
|
# except Exception as e:
|
||||||
print(f"Ocurrió un error inesperado al crear las solicitudes de laboratorio: {e}")
|
# print(f"Ocurrió un error inesperado al crear las solicitudes de laboratorio: {e}")
|
||||||
sys.exit(1)
|
# sys.exit(1)
|
||||||
|
|
||||||
except FileNotFoundError:
|
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.")
|
print("Error: El comando 'odoo' no se encontró. Asegúrate de que la imagen del contenedor es correcta y odoo está en el PATH.")
|
||||||
|
|
|
@ -22,9 +22,11 @@
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'data/ir_sequence.xml',
|
'data/ir_sequence.xml',
|
||||||
'data/product_category.xml',
|
'data/product_category.xml',
|
||||||
|
'data/product_data.xml',
|
||||||
'views/partner_views.xml',
|
'views/partner_views.xml',
|
||||||
'views/analysis_views.xml',
|
'views/analysis_views.xml',
|
||||||
'views/sale_order_views.xml',
|
'views/sale_order_views.xml',
|
||||||
|
'views/stock_lot_views.xml',
|
||||||
'views/menus.xml',
|
'views/menus.xml',
|
||||||
],
|
],
|
||||||
'demo': [
|
'demo': [
|
||||||
|
|
15
lims_management/data/product_data.xml
Normal file
15
lims_management/data/product_data.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<data noupdate="1">
|
||||||
|
|
||||||
|
<record id="product_lab_sample" model="product.product">
|
||||||
|
<field name="name">Lab Sample</field>
|
||||||
|
<field name="type">service</field>
|
||||||
|
<field name="invoice_policy">order</field>
|
||||||
|
<field name="purchase_ok" eval="False"/>
|
||||||
|
<field name="sale_ok" eval="False"/>
|
||||||
|
<field name="default_code">LAB-SAMPLE</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</odoo>
|
49
lims_management/views/stock_lot_views.xml
Normal file
49
lims_management/views/stock_lot_views.xml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<!-- Vista de Lista para Muestras de Laboratorio -->
|
||||||
|
<record id="view_lab_sample_list" model="ir.ui.view">
|
||||||
|
<field name="name">lab.sample.list</field>
|
||||||
|
<field name="model">stock.lot</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<list string="Lab Samples">
|
||||||
|
<field name="name"/>
|
||||||
|
<field name="patient_id"/>
|
||||||
|
<field name="collection_date"/>
|
||||||
|
<field name="container_type"/>
|
||||||
|
<field name="product_id" invisible="1"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<!-- Vista de Formulario para Muestras de Laboratorio -->
|
||||||
|
<record id="view_lab_sample_form" model="ir.ui.view">
|
||||||
|
<field name="name">lab.sample.form</field>
|
||||||
|
<field name="model">stock.lot</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form string="Lab Sample">
|
||||||
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="name"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<field name="patient_id"/>
|
||||||
|
<field name="request_id"/>
|
||||||
|
<field name="product_id" invisible="1"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="collection_date"/>
|
||||||
|
<field name="container_type"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</sheet>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</odoo>
|
Loading…
Reference in New Issue
Block a user