DokuWiki: wiki_doku_id nutzt jetzt name + comp_serial_no für garantierte Eindeutigkeit
- _get_wiki_doku_id() generiert Format: {normalized_name}-{comp_serial_no}
- Automatische Generierung von comp_serial_no falls nicht vorhanden
- Nutzt aspl_equipment_qrcode_generator Modul für eindeutige Seriennummern
- Entfernt Fallback zu name+model (kein Fallback mehr)
- Vorbereitung für editierbare wiki_doku_id in nächstem Schritt
This commit is contained in:
parent
f9cbcffe34
commit
b85ec97d9c
|
|
@ -12,6 +12,5 @@
|
|||
<field name="model_id" ref="model_db_backup" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.action_backup_all()</field>
|
||||
<field name="time_limit">3600</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user