feat(open_workshop_base): Erweiterte Search-View und Gruppierung

- Füge maintenance.equipment Felder zur Suche hinzu (model, partner_id, location, company_id)
- Erweitere Gruppierungsoptionen (Hersteller, Techniker, Standort)
- Standard-Gruppierung nach Bereich aktiviert
- Dokumentation: _inherits Pattern erklärt in Feature Plan
This commit is contained in:
Matthias Lotz 2025-12-13 14:38:42 +01:00
parent e1feeb6d75
commit ed339b0e2e
3 changed files with 14 additions and 6 deletions

View File

@ -81,7 +81,7 @@ open_workshop/
Enthält:
- ✅ `ows.machine` mit _inherits zu `maintenance.equipment`
- ✅ `ows.machine` mit _inherits zu `maintenance.equipment` (delegiert alle Felder von maintenance.equipment transparent an ows.machine)
- ✅ `ows.machine.area` (Bereiche mit JSONB-Namen)
- ✅ `ows.machine.product` (Nutzungsprodukte)
- ✅ `ows.machine.training` (Einweisungsprodukte)

View File

@ -6,20 +6,27 @@
<field name="model">ows.machine</field>
<field name="arch" type="xml">
<search string="Ausrüstung suchen">
<!-- OWS Felder -->
<field name="name" string="Name"/>
<field name="serial_no" string="Code"/>
<field name="area_id" string="Bereich"/>
<!-- maintenance.equipment Felder (via _inherits) -->
<field name="model" string="Modell"/>
<field name="partner_id" string="Hersteller"/>
<field name="location" string="Standort"/>
<field name="company_id" string="Unternehmen"/>
<separator/>
<filter string="Kategorie 1 (grün)" name="filter_green" domain="[('category', '=', 'green')]"/>
<filter string="Kategorie 2 (gelb)" name="filter_yellow" domain="[('category', '=', 'yellow')]"/>
<filter string="Kategorie 3 (rot)" name="filter_red" domain="[('category', '=', 'red')]"/>
<filter string="Kategorie grün" name="filter_green" domain="[('category', '=', 'green')]"/>
<filter string="Kategorie gelb" name="filter_yellow" domain="[('category', '=', 'yellow')]"/>
<filter string="Kategorie rot" name="filter_red" domain="[('category', '=', 'red')]"/>
<separator/>
<filter string="Aktiv" name="filter_active" domain="[('active', '=', True)]"/>
<filter string="Archiviert" name="filter_inactive" domain="[('active', '=', False)]"/>
<separator/>
<group expand="0" string="Gruppieren nach">
<group expand="1" string="Gruppieren nach">
<filter string="Bereich" name="group_area" context="{'group_by': 'area_id'}"/>
<filter string="Kategorie" name="group_category" context="{'group_by': 'category'}"/>
</group>
</search>
</field>
@ -33,7 +40,7 @@
<list sample="1" multi_edit="1">
<field name="category_icon" string="⚙" readonly="1"/>
<field name="name" optional="show"/>
<field name="serial_no" string="Code" optional="show"/>
<!--field name="serial_no" string="Code" optional="show"/-->
<field name="category" optional="show"/>
<field name="area_id" widget="many2one" optional="show"/>
<field name="location" optional="hide"/>

View File

@ -5,6 +5,7 @@
<field name="name">Ausrüstung</field>
<field name="res_model">ows.machine</field>
<field name="view_mode">list,form</field>
<field name="context">{'search_default_group_area': 1, 'group_expand': True}</field>
</record>
<!-- Trainingsprodukt-Liste -->