From c0b64c62384cff5041426a6a819d89359ab58792 Mon Sep 17 00:00:00 2001 From: Matthias Lotz Date: Mon, 7 Apr 2025 12:43:12 +0200 Subject: [PATCH] README.md aktualisiert --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d47d6e9..897ebea 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,75 @@ -# open_workshop +# 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 + ```bash + opt/odoo/odoo/odoo-bin shell -d hobbyhimmel < scrpts/fix_missing_pos_partner.py + ``` +4. Odoo starten mit: + ```bash + 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: +```python +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 -Das ist ein Odoo 18.0 Modul für die Verwaltung von Maschinen, Einweisungen für Nutzer in einer offenen Werkstatt / Fablab \ No newline at end of file