From 7bc1a4765178f8bdb916c41fcdf3101a2d822296 Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 3 Apr 2025 15:49:37 +0000 Subject: [PATCH] working modification in backend --- __manifest__.py | 1 + models/ows_models.py | 29 +++++++++++++++++++++++++++ views/partner_machine_access_html.xml | 16 +++++++++++++++ views/res_partner_view.xml | 2 +- 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 views/partner_machine_access_html.xml 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 @@ - +