diff --git a/models/ows_models.py b/models/ows_models.py index e6b9a6c..4b5e1ae 100644 --- a/models/ows_models.py +++ b/models/ows_models.py @@ -1,12 +1,21 @@ +# -*- coding: utf-8 -*- +# ows_models.py +# Part of Odoo Open Workshop + from odoo import models, fields, api import logging _logger = logging.getLogger(__name__) _logger.info("✅ ows_models.py geladen") - class ResPartner(models.Model): _inherit = 'res.partner' + machine_access_ids = fields.One2many( + 'ows.machine.access', + 'partner_id', + string='Maschinenfreigaben' + ) + machine_access_html = fields.Html( string="Maschinenfreigaben", compute="_compute_machine_access_html", @@ -80,7 +89,13 @@ class OwsMachine(models.Model): product_ids = fields.One2many('ows.machine.product', 'machine_id', string="Einweisungsprodukte") + product_names = fields.Char(string="Einweisungsprodukte", compute="_compute_product_names", store=False,) + @api.depends('product_ids.product_id.name') + def _compute_product_names(self): + for machine in self: + names = machine.product_ids.mapped('product_id.name') + machine.product_names = ", ".join(names) _sql_constraints = [ ('code_unique', 'unique(code)', 'Maschinencode muss eindeutig sein.') @@ -140,11 +155,4 @@ class OwsMachineProduct(models.Model): product_id = fields.Many2one('product.product', required=True, domain=[('available_in_pos', '=', True)], ondelete='cascade') machine_id = fields.Many2one('ows.machine', required=True, ondelete='cascade') -class ResPartner(models.Model): - _inherit = 'res.partner' - machine_access_ids = fields.One2many( - 'ows.machine.access', - 'partner_id', - string='Maschinenfreigaben' - ) diff --git a/views/machine_views.xml b/views/machine_views.xml index d920c6b..af23447 100644 --- a/views/machine_views.xml +++ b/views/machine_views.xml @@ -9,27 +9,39 @@ + - - ows.machine.form - ows.machine - -
- - - - - + + ows.machine.form + ows.machine + + + + + + + - - - - - + + + + + + + + + + + + +
+ +
+