From 6f8f788d9d2434703f2ecfaa89cc6cbcacae0060 Mon Sep 17 00:00:00 2001 From: "matthias.lotz" Date: Thu, 26 Jun 2025 17:34:13 +0200 Subject: [PATCH] merge with open_workshop 17.0 --- models/ows_models.py | 30 ++++++++++++++++--------- static/src/js/machine_access_sidebar.js | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/models/ows_models.py b/models/ows_models.py index 7609f01..325326a 100644 --- a/models/ows_models.py +++ b/models/ows_models.py @@ -511,13 +511,12 @@ class OwsMachine(models.Model): - 'rfid_card': RFID-Kartennummer des Nutzers (str oder ''). - 'birthday': Geburtstag des Nutzers (str oder ''). """ - + partner = self.env['res.partner'].browse(partner_id) areas = self.env['ows.machine.area'].search([], order="name") - _logger.info("🔍 Maschinenbereiche: %s", areas.mapped('name')) - _logger.info("🔍 Partner_id: %s", partner_id) - res = [] + + access_by_area = [] for area in areas: - machines = self.search([('area_id', '=', area.id)], order="name") + machines = self.search([('area_id', '=', area.id), ('category', '=', 'red')], order="name") machine_list = [] for machine in machines: has_access = bool(self.env['ows.machine.access'].search([ @@ -528,12 +527,21 @@ class OwsMachine(models.Model): 'name': machine.name, 'has_access': has_access, }) - res.append({ - 'area': area.name, - 'color_hex': area.color_hex or '#000000', - 'machines': machine_list - }) - return res + if machine_list: + access_by_area.append({ + 'area': area.name, + 'color_hex': area.color_hex or '#000000', + 'machines': machine_list + }) + + user = partner.ows_user_id[:1] + return { + 'access_by_area': access_by_area, + 'security_briefing': user.security_briefing if user else False, + 'security_id': user.security_id if user else '', + 'rfid_card': user.rfid_card if user else '', + 'birthday': user.birthday if user else '', + } class OwsMachineAccess(models.Model): diff --git a/static/src/js/machine_access_sidebar.js b/static/src/js/machine_access_sidebar.js index f94cb2b..2cf1dfa 100644 --- a/static/src/js/machine_access_sidebar.js +++ b/static/src/js/machine_access_sidebar.js @@ -53,7 +53,7 @@ odoo.define('open_workshop.machine_access_sidebar', function (require) { }).then(function (result) { partner.create_date = partner.create_date && partner.create_date.substring(0, 10); var html = QWeb.render('PartnerMachineAccessList', { - areas: result || [], + areas: result.access_by_area || [], partner: partner, }); self.$('.access-content').html(html);