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,
|
||||
"-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.")
|
||||
|
|
|
@ -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': [
|
||||
|
|
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