Das ist ein Odoo Modul für die Verwaltung von Maschinen, Einweisungen für Nutzer in einer offenen Werkstatt / Fablab
Go to file
gitea f2809c7780
Some checks failed
odoo-restore-open_workshop-install / run-odoo-backup-in-docker (push) Failing after 29s
pinentry-mode
2025-04-10 21:03:00 +00:00
.gitea/workflows fixed chmod 2025-04-10 20:08:09 +00:00
controllers POS funktioniert nun mit dynamischen Einweisungen aus open_workshop 2025-03-30 17:35:31 +00:00
data fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00
demo demo daten 2025-04-05 13:58:23 +00:00
models fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00
scripts pinentry-mode 2025-04-10 21:03:00 +00:00
security Einfache Zuordnung Maschine - Einweisung und Maschine - Nutzung 2025-04-06 11:48:32 +00:00
static/src Einfache Zuordnung Maschine - Einweisung und Maschine - Nutzung 2025-04-06 11:48:32 +00:00
views fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00
__init__.py diese Version lässt sich mit einer integrierten mirgration auf eine bestehende DB installieren, es fehlen noch die Einweisungen 2025-04-06 16:55:58 +00:00
__manifest__.py removed predefined data(einweisung), added fix_missing_parnters for migration db purpose 2025-04-06 20:08:05 +00:00
.env added .env 2025-04-10 19:03:13 +00:00
.gitignore added .env 2025-04-10 19:03:13 +00:00
Checkliste.md fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00
fix_missing_partners.py removed predefined data(einweisung), added fix_missing_parnters for migration db purpose 2025-04-06 20:08:05 +00:00
LICENSE Initial commit 2025-01-05 21:39:04 +01:00
post_init_hook.py fixed import_machine_prdoucts, prepared for gitea actions 2025-04-09 18:56:57 +00:00
README.md fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00
todo.md fixed res.parnter update ows.user 2025-04-08 21:18:51 +00:00

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