fase 3.1: recursos fisicos en agenda (modelo skeen.recurso con semilla cabina/consultoria, asignacion multiple a citas con validacion de solape, bloqueos por recurso, lista de espera desde recursos, vista/filtro por recurso, reporte de ocupacion); apagado por defecto

This commit is contained in:
2026-10-11 11:33:59 +00:00
parent 8ff13b9c2a
commit ee8a844d96
29 changed files with 1986 additions and 78 deletions

View File

@@ -8,6 +8,7 @@
<tree>
<field name="date"/>
<field name="doctor_id"/>
<field name="recurso_ids" widget="many2many_tags"/>
<field name="all_day"/>
<field name="time_from" widget="float_time"/>
<field name="time_to" widget="float_time"/>
@@ -29,6 +30,8 @@
<group>
<group>
<field name="doctor_id"/>
<field name="recurso_ids" widget="many2many_tags"
options="{'no_create': True}"/>
<field name="date"/>
<field name="motivo_tipo"/>
<field name="motivo"/>

View File

@@ -46,6 +46,8 @@
<field name="servicio_id"/>
<field name="servicio_price" readonly="1"/>
<field name="servicio_duration" readonly="1"/>
<field name="recurso_ids" widget="many2many_tags"
options="{'no_create': True}"/>
<field name="duration"/>
<field name="date"/>
<field name="time" widget="float_time"/>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Vista de lista de recursos -->
<record id="view_skeen_recurso_tree" model="ir.ui.view">
<field name="name">skeen.recurso.tree</field>
<field name="model">skeen.recurso</field>
<field name="arch" type="xml">
<tree decoration-muted="not activo">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="code"/>
<field name="tipo"/>
<field name="capacidad"/>
<field name="costo_hora"/>
<field name="activo"/>
</tree>
</field>
</record>
<!-- Vista de formulario de recursos -->
<record id="view_skeen_recurso_form" model="ir.ui.view">
<field name="name">skeen.recurso.form</field>
<field name="model">skeen.recurso</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<group>
<field name="name"/>
<field name="code"/>
<field name="tipo"/>
<field name="activo"/>
</group>
<group>
<field name="sequence"/>
<field name="capacidad"/>
<field name="costo_hora"/>
<field name="color" placeholder="#1abc9c"/>
</group>
</group>
<group string="Sucursales">
<field name="sucursales" widget="many2many_tags"
options="{'no_create': True}"/>
</group>
<group string="Notas">
<field name="notas" nolabel="1"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- Acción de recursos -->
<record id="action_skeen_recurso_tree" model="ir.actions.act_window">
<field name="name">Recursos</field>
<field name="res_model">skeen.recurso</field>
<field name="view_mode">tree,form</field>
</record>
<!-- Menú Recursos (bajo el menú Citas) -->
<menuitem id="menu_skeen_citas_recursos" name="Recursos" parent="menu_skeen_citas"
action="action_skeen_recurso_tree" sequence="40"/>
</odoo>