#This file is part of Tryton. The COPYRIGHT file at the top level of #txhis repository contains the full copyright notices and license terms from trytond.pool import Pool, PoolMeta from trytond.model import ModelView, ModelSQL, fields from trytond.exceptions import UserError class Purchase(metaclass=PoolMeta): __name__ = 'purchase.purchase' @classmethod @ModelView.button def process(cls, purchases): pool = Pool() Equipment = pool.get('optical.equipment') #raise UserError(str(type(Equipment))) Line = pool.get('purchase.line') lines = [] process, done = [], [] cls.lock(purchases) for purchase in purchases: """if purchase.state not in {'confirmed', 'processing', 'done'}: continue purchase.create_invoice() purchase.set_invoice_state() purchase.create_move('in') return_moves = purchase.create_move('return') if return_moves: purchase.create_return_shipment(return_moves) purchase.set_shipment_state() """ #raise UserError(str(dir(purchase))) #equipment = Equipment() for line in purchase.lines: #raise UserError(str(dir(line))) equipment = Equipment( company=line.company, equipment_type=line.product.equipment_type, party_address=line.address_equipment, product=line.product, risk=line.product.risk, use=line.product.use, biomedical_class=line.product.biomedical_class, calibration=line.product.calibration, refurbish=line.refurbish, serial=line.serial_equipment, software_version=line.product.software_version, ) equipment.save() #raise UserError(str([equipment.serial, equipment.software_version])) """ line.set_actual_quantity() lines.append(line) if purchase.is_done(): if purchase.state != 'done': if purchase.state == 'confirmed': process.append(purchase) done.append(purchase) elif purchase.state != 'processing': process.append(purchase) Line.save(lines) if process: cls.proceed(process) if done: cls.do(done)""" class Line(metaclass=PoolMeta): __name__ = 'purchase.line' address_equipment = fields.Many2One('party.address', "Direccion") serial_equipment = fields.Char("Serial", size=None, required=True) refurbish = fields.Boolean("Refurbish")