trytondo-optical_equipment/purchase.py

73 lines
2.8 KiB
Python

#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")