24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
# -*- 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)
|