from trytond.pool import Pool, PoolMeta from trytond.model import ( ModelSQL, ModelView, Workflow, fields) from trytond.modules.company.model import set_employee from trytond.exceptions import UserError class Subscription(metaclass=PoolMeta): __name__ = 'sale.subscription' equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription', 'equipment', "Equipments") @classmethod @ModelView.button @Workflow.transition('running') @set_employee('run_by') def run(cls, subscriptions): pool = Pool() Equipment = pool.get('optical_equipment.equipment') Line = pool.get('sale.subscription.line') lines = [] subscription = subscriptions[0] class SubscriptionEquipment(ModelSQL): 'Optical Equipment - Subscription' __name__ = 'sale.subscription-optical_equipment.equipment' subscription = fields.Many2One('sale.subscription', 'Subscription', select=True) equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True, domain=[('state', '=', 'registred'), ('state', '=', 'uncontrated')], depends=['state']) class Line(metaclass=PoolMeta): __name__ = 'sale.subscriptioin.line'