#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):
        raise UserError(str("lento lento"))
        pool = Pool()
        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()

            for line in purchase.lines:
                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'

    serial_equipment = fields.Char("Serial", size=None, required=True)
    refurbish = fields.Boolean("Refurbish")