diff --git a/__manifest__.py b/__manifest__.py
index 0f18c22..405cd1a 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -12,6 +12,7 @@
'views/machine_area_views.xml',
'views/machine_views.xml',
'views/res_partner_view.xml',
+ 'views/partner_machine_access_html.xml',
'views/assets.xml',
'data/demo_data.xml',
],
diff --git a/models/ows_models.py b/models/ows_models.py
index efa8a40..efc3cbb 100644
--- a/models/ows_models.py
+++ b/models/ows_models.py
@@ -3,6 +3,35 @@ import logging
_logger = logging.getLogger(__name__)
_logger.info("✅ ows_models.py geladen")
+
+class ResPartner(models.Model):
+ _inherit = 'res.partner'
+
+ machine_access_html = fields.Html(
+ string="Maschinenfreigaben",
+ compute="_compute_machine_access_html",
+ sanitize=False
+ )
+
+ @api.depends('machine_access_ids')
+ def _compute_machine_access_html(self):
+ for partner in self:
+ areas = self.env['ows.machine.area'].search([], order="name")
+ html = "
"
+ for area in areas:
+ html += f"
{area.name}
"
+ machines = self.env['ows.machine'].search([('area_id', '=', area.id)], order="name")
+ for machine in machines:
+ access = self.env['ows.machine.access'].search([
+ ('partner_id', '=', partner.id),
+ ('machine_id', '=', machine.id),
+ ], limit=1)
+ status = "✅" if access else "❌"
+ html += f"- {machine.name}: {status}
"
+ html += "
"
+ html += "
"
+ partner.machine_access_html = html
+
class OwsMachineArea(models.Model):
_name = 'ows.machine.area'
_table = "ows_machine_area"
diff --git a/views/partner_machine_access_html.xml b/views/partner_machine_access_html.xml
new file mode 100644
index 0000000..feae16d
--- /dev/null
+++ b/views/partner_machine_access_html.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ res.partner.form.ows.machine.access.html
+ res.partner
+
+
+
+
+
+
+
+
+
+
diff --git a/views/res_partner_view.xml b/views/res_partner_view.xml
index aef5993..ad3292c 100644
--- a/views/res_partner_view.xml
+++ b/views/res_partner_view.xml
@@ -6,7 +6,7 @@
-
+