# -*- coding: utf-8 -*- import logging from odoo import fields, models, api from odoo.exceptions import UserError class SfProductionProcessParameter(models.Model): _inherit = 'sf.production.process.parameter' @api.model def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None): if self._context.get('route_id'): parameter = [] routing = self.env['mrp.routing.workcenter'].search([('id', '=', self._context.get('route_id'))]) technology_design = self.env['sf.technology.design'].search( [('production_id', '=', self._context.get('production_id')), ('routing_tag', '=', 'special'), ('route_id', '=', self._context.get('route_id'))]) for t in technology_design: if t.process_parameters_id: parameter.append(t.process_parameters_id.id) domain = [('process_id', '=', routing.surface_technics_id.id), ('id', 'not in', parameter)] return self._search(domain, limit=limit, access_rights_uid=name_get_uid) return super()._name_search(name, args, operator, limit, name_get_uid)