diff --git a/open_workshop_auto_backup/data/ir_cron.xml b/open_workshop_auto_backup/data/ir_cron.xml index b842550..873399d 100644 --- a/open_workshop_auto_backup/data/ir_cron.xml +++ b/open_workshop_auto_backup/data/ir_cron.xml @@ -12,6 +12,5 @@ code model.action_backup_all() - 3600 diff --git a/open_workshop_dokuwiki/models/maintenance_equipment.py b/open_workshop_dokuwiki/models/maintenance_equipment.py index b4ac4b9..6451cd5 100644 --- a/open_workshop_dokuwiki/models/maintenance_equipment.py +++ b/open_workshop_dokuwiki/models/maintenance_equipment.py @@ -123,11 +123,13 @@ class MaintenanceEquipment(models.Model): def _get_wiki_doku_id(self): """ - Generiert die Wiki-Dokumentations-ID aus dem Equipment-Namen und Modell. - Format: normalisierter_name-normalisiertes_modell (z.B. "formatkreissaege-bosch-abc") + Generiert die Wiki-Dokumentations-ID aus Equipment-Namen und comp_serial_no. + Format: normalisierter_name-comp_serial_no (z.B. "formatkreissaege-EQ001") + + Die comp_serial_no wird automatisch generiert falls noch nicht vorhanden. Returns: - str: Wiki-Doku-ID oder False wenn keine ID vorhanden + str: Wiki-Doku-ID oder False wenn kein Name vorhanden """ self.ensure_one() @@ -135,15 +137,20 @@ class MaintenanceEquipment(models.Model): if self.wiki_doku_id: return self.wiki_doku_id - # Generiere aus Equipment-Namen und Modell - if self.name: - normalized_name = self._normalize_wiki_name(self.name) - if self.model: - normalized_model = self._normalize_wiki_name(self.model) - return f"{normalized_name}-{normalized_model}" - return normalized_name + # Name ist erforderlich + if not self.name: + return False - return False + # comp_serial_no automatisch generieren falls nicht vorhanden + if not self.comp_serial_no: + self.generate_serial_no() + # Refresh nach generate_serial_no + self.refresh() + + # wiki_doku_id aus Name + comp_serial_no generieren + normalized_name = self._normalize_wiki_name(self.name) + normalized_serial = self._normalize_wiki_name(self.comp_serial_no) + return f"{normalized_name}-{normalized_serial}" def _get_wiki_page_id_by_area(self): """ @@ -237,7 +244,8 @@ class MaintenanceEquipment(models.Model): def _render_template_from_wiki(self, view_type='area'): """ Lädt c_template aus DokuWiki und ersetzt Platzhalter mit Odoo-Feldwerten. - Template-Pfad: werkstatt:ausruestung:c_template + Template-Pfad wird dynamisch aus dem Systemparameter 'dokuwiki.central_documentation_namespace' generiert. + Standard: werkstatt:ausstattung:odoo-status:c_template Platzhalter-Format: - {feldname} für maintenance.equipment Felder, z.B. {name}, {serial_no}