first commit
This commit is contained in:
45
modules/production_routing/routing.py
Normal file
45
modules/production_routing/routing.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.model import (
|
||||
DeactivableMixin, ModelSQL, ModelView, fields, sequence_ordered)
|
||||
|
||||
|
||||
class Routing(DeactivableMixin, ModelSQL, ModelView):
|
||||
__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')
|
||||
|
||||
|
||||
class RoutingOperation(DeactivableMixin, ModelSQL, ModelView):
|
||||
__name__ = 'production.routing.operation'
|
||||
name = fields.Char('Operation', required=True, translate=True)
|
||||
|
||||
|
||||
class RoutingStep(sequence_ordered(), ModelSQL, ModelView):
|
||||
__name__ = 'production.routing.step'
|
||||
operation = fields.Many2One('production.routing.operation', 'Operation',
|
||||
required=True)
|
||||
routing = fields.Many2One('production.routing', 'Routing', required=True,
|
||||
ondelete='CASCADE')
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.__access__.add('routing')
|
||||
|
||||
def get_rec_name(self, name):
|
||||
return self.operation.rec_name
|
||||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
return [('operation.rec_name',) + tuple(clause[1:])]
|
||||
|
||||
|
||||
class Routing_BOM(ModelSQL):
|
||||
__name__ = 'production.routing-production.bom'
|
||||
routing = fields.Many2One(
|
||||
'production.routing', "Routing", required=True, ondelete='CASCADE')
|
||||
bom = fields.Many2One(
|
||||
'production.bom', "BOM", required=True, ondelete='CASCADE')
|
||||
Reference in New Issue
Block a user