- Integrated maintenance.equipment using _inherits pattern in open_workshop_base
- Removed duplicate fields (code, description, storage_location, purchase_price, purchase_date)
- Delegated equipment management to OCA maintenance module
- Added Smart Button UI pattern for equipment details
- Implemented automated migration workflow:
* SQL script renames module open_workshop → open_workshop_base
* Pre-migration: Installs maintenance, adds equipment_id column
* Post-migration: Migrates 23 machines with proper JSONB names and locations
- Restored old open_workshop module (installable=False) for DB compatibility
- Updated CI/CD workflow with migration steps
- Area mapping corrected: area.name → equipment.location
- JSONB handling: Using SQL jsonb_build_object() for proper storage
- Serial numbers: From old code field or generated as OWS-{id}
Tested and verified:
✅ 23 machines successfully migrated
✅ JSONB names extractable: name->>'de_DE' and name->>'en_US'
✅ Locations correctly mapped: Fablab, Holzbereich, etc.
✅ equipment_id linkage functional
154 lines
4.9 KiB
XML
154 lines
4.9 KiB
XML
<odoo>
|
|
<!-- Bereiche -->
|
|
<record id="area_fablab" model="ows.machine.area">
|
|
<field name="name">Fablab</field>
|
|
<field name="color_hex">#008000</field>
|
|
</record>
|
|
|
|
<record id="area_holz" model="ows.machine.area">
|
|
<field name="name">Holzbereich</field>
|
|
<field name="color_hex">#ff0000</field>
|
|
</record>
|
|
|
|
<record id="area_metall" model="ows.machine.area">
|
|
<field name="name">Metallbereich</field>
|
|
<field name="color_hex">#0000ff</field>
|
|
</record>
|
|
|
|
<record id="area_elektronik" model="ows.machine.area">
|
|
<field name="name">Elektronikbereich</field>
|
|
<field name="color_hex">#ffff00</field>
|
|
</record>
|
|
|
|
<!-- Maschinen im Fablab -->
|
|
<record id="machine_sabako_laser" model="ows.machine">
|
|
<field name="name">Sabako Laser</field>
|
|
<field name="code">sabako_laser</field>
|
|
<field name="area_id" ref="area_fablab"/>
|
|
</record>
|
|
|
|
<record id="machine_prusa" model="ows.machine">
|
|
<field name="name">Prusa</field>
|
|
<field name="code">prusa</field>
|
|
<field name="area_id" ref="area_fablab"/>
|
|
</record>
|
|
|
|
<record id="machine_prusa_mmu" model="ows.machine">
|
|
<field name="name">Prusa MMU</field>
|
|
<field name="code">prusa_mmu</field>
|
|
<field name="area_id" ref="area_fablab"/>
|
|
</record>
|
|
|
|
<record id="machine_3d_delta" model="ows.machine">
|
|
<field name="name">3D Delta</field>
|
|
<field name="code">3d_delta</field>
|
|
<field name="area_id" ref="area_fablab"/>
|
|
</record>
|
|
|
|
<record id="machine_cnc_beamicon" model="ows.machine">
|
|
<field name="name">CNC Beamicon</field>
|
|
<field name="code">cnc_beamicon</field>
|
|
<field name="area_id" ref="area_fablab"/>
|
|
</record>
|
|
|
|
<!-- Maschinen im Holzbereich -->
|
|
<record id="machine_formatkreissaege" model="ows.machine">
|
|
<field name="name">Formatkreissäge</field>
|
|
<field name="code">formatkreissaege</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_bandsaege_holz" model="ows.machine">
|
|
<field name="name">Bandsäge</field>
|
|
<field name="code">bandsaege_holz</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_abrichte" model="ows.machine">
|
|
<field name="name">Abricht Dickenhobel</field>
|
|
<field name="code">dickenhobel</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_drechselbank" model="ows.machine">
|
|
<field name="name">Drechselbank</field>
|
|
<field name="code">drechselbank</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_festool_domino" model="ows.machine">
|
|
<field name="name">Festool Domino Fräse</field>
|
|
<field name="code">festool_domino</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_maffel_duo" model="ows.machine">
|
|
<field name="name">Maffel Duo Dübler</field>
|
|
<field name="code">maffel_duo</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<record id="machine_lamello" model="ows.machine">
|
|
<field name="name">Lamello Zeta P2</field>
|
|
<field name="code">lamello_zeta_p2</field>
|
|
<field name="area_id" ref="area_holz"/>
|
|
</record>
|
|
|
|
<!-- Maschinen im Metallbereich -->
|
|
<record id="machine_kreissaege_metall" model="ows.machine">
|
|
<field name="name">Kreissäge</field>
|
|
<field name="code">kreissaege_metall</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_bandsaege_metall" model="ows.machine">
|
|
<field name="name">Bandsäge</field>
|
|
<field name="code">bandsaege_metall</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_mig_mag" model="ows.machine">
|
|
<field name="name">MIG/MAG Schweißgeräte</field>
|
|
<field name="code">mig_mag</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_wig" model="ows.machine">
|
|
<field name="name">WIG Schweißgerät</field>
|
|
<field name="code">wig</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_schweissen" model="ows.machine">
|
|
<field name="name">Schweißen allgemein</field>
|
|
<field name="code">schweissen_allgemein</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_drehbank" model="ows.machine">
|
|
<field name="name">Drehbank</field>
|
|
<field name="code">drehbank</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_fraese" model="ows.machine">
|
|
<field name="name">Fräse</field>
|
|
<field name="code">fraese</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<record id="machine_abkantbank" model="ows.machine">
|
|
<field name="name">Abkantbank</field>
|
|
<field name="code">abkantbank</field>
|
|
<field name="area_id" ref="area_metall"/>
|
|
</record>
|
|
|
|
<!-- Maschine im Elektronikbereich -->
|
|
<record id="machine_loetkolben" model="ows.machine">
|
|
<field name="name">Lötkolben</field>
|
|
<field name="code">loetkolben</field>
|
|
<field name="area_id" ref="area_elektronik"/>
|
|
</record>
|
|
|
|
</odoo>
|