Files
tryton/modules/production_routing/routing.py
T

48 lines
1.6 KiB
Python
Raw Normal View History

2016-03-21 21:02:37 +01:00
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
2018-03-26 14:12:22 +02:00
from trytond.model import (
2021-12-11 17:58:43 +01:00
DeactivableMixin, ModelSQL, ModelView, fields, sequence_ordered)
2016-03-21 21:02:37 +01:00
2018-03-26 14:12:22 +02:00
class Routing(DeactivableMixin, ModelSQL, ModelView):
2016-03-21 21:02:37 +01:00
'Routing'
__name__ = 'production.routing'
name = fields.Char('Name', required=True, translate=True)
steps = fields.One2Many('production.routing.step', 'routing', 'Steps')
boms = fields.Many2Many(
'production.routing-production.bom', 'routing', 'bom', 'BOMs')
2020-03-01 12:33:52 +01:00
class RoutingOperation(DeactivableMixin, ModelSQL, ModelView):
2016-03-21 21:02:37 +01:00
'Operation'
__name__ = 'production.routing.operation'
name = fields.Char('Operation', required=True, translate=True)
2016-09-13 14:07:52 +02:00
class RoutingStep(sequence_ordered(), ModelSQL, ModelView):
2016-03-21 21:02:37 +01:00
'Route'
__name__ = 'production.routing.step'
operation = fields.Many2One('production.routing.operation', 'Operation',
required=True)
routing = fields.Many2One('production.routing', 'Routing', required=True,
ondelete='CASCADE')
2021-03-07 11:13:53 +01:00
@classmethod
def __setup__(cls):
super().__setup__()
cls.__access__.add('routing')
2016-03-21 21:02:37 +01:00
def get_rec_name(self, name):
return self.operation.rec_name
2017-07-26 23:43:23 +02:00
@classmethod
def search_rec_name(cls, name, clause):
2017-09-27 18:37:30 +02:00
return [('operation.rec_name',) + tuple(clause[1:])]
2017-07-26 23:43:23 +02:00
2016-03-21 21:02:37 +01:00
class Routing_BOM(ModelSQL):
'Routing - BOM'
__name__ = 'production.routing-production.bom'
routing = fields.Many2One('production.routing', 'Routing', required=True)
bom = fields.Many2One('production.bom', 'BOM', required=True)