feat: Wiki-Links in Tree View als klickbare Namen anzeigen
Änderungen: - maintenance_equipment.py: Zwei neue computed HTML-Felder hinzugefügt: - wiki_doku_link: Zeigt wiki_doku_id als Link zur Dokumentations-Seite - wiki_status_link: Zeigt wiki_status_id als Link zur Odoo-Status-Seite - maintenance_equipment_views.xml: Tree View erweitert mit Wiki-Links - Wiki Doku: Standardmäßig sichtbar (optional='show') - Wiki Status: Standardmäßig ausgeblendet (optional='hide') - maintenance_equipment_views.xml: Formular-Layout verbessert - Doku-Seite mit prominentem Link oben Nutzen: - Benutzer sehen jetzt 'sabko-laser' statt vollständige URL - Links sind klickbar und öffnen in neuem Tab - Übersichtlichere List View mit relevanten Wiki-Informationen
This commit is contained in:
parent
77cd3f4595
commit
75d91984d1
|
|
@ -110,6 +110,48 @@ class MaintenanceEquipment(models.Model):
|
|||
default=True,
|
||||
help='Bei Änderungen automatisch zum Wiki synchronisieren'
|
||||
)
|
||||
wiki_doku_link = fields.Html(
|
||||
string='Wiki Doku',
|
||||
compute='_compute_wiki_doku_link',
|
||||
sanitize=False,
|
||||
help='Klickbarer Link zur Wiki-Dokumentationsseite'
|
||||
)
|
||||
wiki_status_link = fields.Html(
|
||||
string='Wiki Status',
|
||||
compute='_compute_wiki_status_link',
|
||||
sanitize=False,
|
||||
help='Klickbarer Link zur Wiki-Status-Seite (Odoo-Daten)'
|
||||
)
|
||||
|
||||
@api.depends('wiki_doku_id', 'wiki_page_url')
|
||||
def _compute_wiki_doku_link(self):
|
||||
"""
|
||||
Generiert einen HTML-Link mit wiki_doku_id als Text und wiki_page_url als Ziel.
|
||||
"""
|
||||
for record in self:
|
||||
if record.wiki_doku_id and record.wiki_page_url:
|
||||
record.wiki_doku_link = f'<a href="{record.wiki_page_url}" target="_blank" style="color: #007bff;">{record.wiki_doku_id}</a>'
|
||||
else:
|
||||
record.wiki_doku_link = ''
|
||||
|
||||
@api.depends('wiki_status_id', 'name', 'comp_serial_no', 'ows_area_id')
|
||||
def _compute_wiki_status_link(self):
|
||||
"""
|
||||
Generiert einen HTML-Link mit wiki_status_id als Text zur Odoo-Status-Seite.
|
||||
"""
|
||||
dokuwiki_client = self.env['dokuwiki.client']
|
||||
for record in self:
|
||||
# wiki_status_id dynamisch berechnen falls noch nicht gesetzt
|
||||
wiki_status_id = record.wiki_status_id or record._get_wiki_status_id()
|
||||
if wiki_status_id and record.ows_area_id:
|
||||
status_page_id = record._get_wiki_status_page_id()
|
||||
if status_page_id:
|
||||
status_url = dokuwiki_client.get_wiki_url(status_page_id)
|
||||
record.wiki_status_link = f'<a href="{status_url}" target="_blank" style="color: #007bff;">{wiki_status_id}</a>'
|
||||
else:
|
||||
record.wiki_status_link = ''
|
||||
else:
|
||||
record.wiki_status_link = ''
|
||||
|
||||
@api.depends('ows_area_id')
|
||||
def _compute_wiki_page_url(self):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- Equipment Tree View Extension - Wiki Link -->
|
||||
<record id="maintenance_equipment_view_tree_dokuwiki" model="ir.ui.view">
|
||||
<field name="name">maintenance.equipment.tree.dokuwiki</field>
|
||||
<field name="model">maintenance.equipment</field>
|
||||
<field name="inherit_id" ref="maintenance.hr_equipment_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<!-- Wiki Doku-Link nach dem Namen -->
|
||||
<field name="name" position="after">
|
||||
<field name="wiki_doku_link" widget="html" string="Wiki Doku" optional="show"/>
|
||||
<field name="wiki_status_link" widget="html" string="Wiki Status" optional="hide"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Equipment Form View Extension -->
|
||||
<record id="maintenance_equipment_view_form_dokuwiki" model="ir.ui.view">
|
||||
<field name="name">maintenance.equipment.form.dokuwiki</field>
|
||||
|
|
@ -32,20 +46,16 @@
|
|||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Wiki" name="wiki">
|
||||
<group>
|
||||
<group string="Wiki Seiten Namen" colspan="2">
|
||||
<group>
|
||||
<field name="wiki_status_id" string="Wiki Status Seite" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="wiki_doku_id" string="Wiki Dokumentations Seite"/>
|
||||
</group>
|
||||
<group string="Wiki Dokumentations-Seite (Benutzer-Doku)" colspan="2">
|
||||
<field name="wiki_doku_id" string="Seitenname"/>
|
||||
<field name="wiki_page_url" widget="url" string="🔗 Zur Doku-Seite" class="oe_link"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group string="Wiki URL">
|
||||
<field name="wiki_page_url" widget="url" readonly="1"/>
|
||||
<group string="Wiki Status-Seite (Odoo-Daten, automatisch)">
|
||||
<field name="wiki_status_id" string="Seitenname" readonly="1"/>
|
||||
</group>
|
||||
<group string="Status">
|
||||
<group string="Synchronisations-Status">
|
||||
<field name="wiki_synced" readonly="1"/>
|
||||
<field name="wiki_last_sync" readonly="1"/>
|
||||
<field name="wiki_auto_sync"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user