open_workshop/README.md

3.3 KiB

Open Workshop (open_workshop ows)

Dieses Odoo v13.0 Modul erweitert das POS- und Kontakt-Modul um Funktionen für offene Werkstätten (FabLabs, Makerspaces etc.) und dient der Verwaltung von Maschinen, Naschinen Einweisungen Produkten, Maschinen Nutzungsprodukten und Zugangsberechtigungen zu den Maschinen.

Funktionen

Erweiterungen an Kontakten (res.partner)

  • Geburtstagsfeld, RFID-Karte, Haftungsausschluss usw. ausgelagert nach ows.user
  • Automatische Erstellung des ows.user-Eintrags beim Anlegen eines Kontakts
  • Übersichtliche Darstellung aller Maschinenfreigaben im Odoo Kontaktformular

Maschinen und Bereiche

  • Modell ows.machine mit Gruppierung nach Bereichen (ows.machine.area)
  • Farblich kodierte Bereiche (Hex-Wert aus Datenbank) welche zur Darstellung im POS verwendet werden

Einweisungen und Nutzungen

  • Modelle ows.machine.training und ows.machine.product
  • Konfigurierbare Produkte für Einweisung/Nutzung direkt im Backend
    • Zuweisung von Nutzungsprodukten zu Maschinen
    • Zuweisung von Einweisungsprodukten zu Maschinen

Maschinenfreigaben

  • Modell ows.machine.access verknüpft Partner und Maschine
  • Darstellung im POS als tabellarische Übersicht mit Anzeige für eine bestehende Einweisung / Nutzungsberechtigung
  • Anzeige im POS-Kundendetailsansicht innerhalb der Kundendetailsansicht
  • Anzeige im Odoo Kontak Modul der Maschineneinweisungen

Installation

  1. Dieses Modul in den Custom-Addons-Ordner kopieren
  2. Vor der Installation von open_worshop muss vvow_pos deinstalliert werden. Die Funktionalität von vvow_pos wird durch open_workshop ersetzt und erweitert.
  3. ggf. muss die alte Datenbank manuell migiriert werden, es gibt ca 9 gelöscht res.partner auf die Verweise aus POS bestehen. Diese res.parnter müssen wieder hergestellt werden. Dazu gibt es ein Skript unter
     scripts/fix_missing_pos_partner.py
    
    opt/odoo/odoo/odoo-bin shell -d hobbyhimmel < scrpts/fix_missing_pos_partner.py
    
  4. Odoo starten mit:
    odoo-bin -d deine_datenbank -u open_workshop
    
  5. Alternativ im Backend unter Apps installieren

Automatische Migrationen

Beim ersten Laden des Moduls werden folgende Migrationen durchgeführt:

  • Bestehende res.partner erhalten automatisch ows.user-Eintrag (inkl. Übernahme alter Felder wie vvow_birthday, vvow_security, vvow_security_id, vvow_rfid.
  • Alte Felder mit Maschinenfreigaben (vvow_holz_*, vvow_metall_*, vvow_fablab_*) werden in ows.machine.access übertragen
    • inkl. Übernahme des Änderungsdatum aus mail.message wann der Nutzer die Einweisung erhalten hat (ist noch fehlerhaft)

Entwicklerhinweise

post_init_hook

Die Datei post_init_hook.py ruft automatisch nach der Installation folgende Methoden auf:

res.partner.migrate_existing_partners()
res.partner.migrate_machine_access_from_old_fields()

Datenimport

  • Maschinenbereiche, Maschinen werden über .xml-Dateien in data/ geladen
  • Die Zuordnung von Maschine zu Einweisungsprodukten und Nutzungsprodukten muss derzeit noch manuell erstellt werden. Ein skript dafür folgt.

ToDos

  • Bearbeitung der Maschinenfreigaben im Backend
  • Automatische Erstellung von mail.message bei manueller Freigabe
  • Integration von Fristen (z.B. Ablaufdatum Einweisung)

Autoren

  • Matthias Lotz

Lizenz

AGPL-3.0 oder später


Letzte Aktualisierung: 06.04.2025