trytondo-optical_equipment/sale.py

31 lines
898 B
Python

from trytond.pool import Pool, PoolMeta
from trytond.model import ModelView, ModelSQL, fields
from trytond.pyson import Eval, Bool, If
class SaleLine(metaclass=PoolMeta):
'SaleLine'
__name__ = 'sale.line'
address_equipment = fields.Many2One('party.address', "Direccion")
@classmethod
@ModelView.button
def process(cls, sales):
states = {'confirmed', 'processing', 'done'}
sales = [s for s in sales if s.state in states]
cls.lock(sales)
cls._process_invoice(sales)
cls._process_shipment(sales)
cls._process_invoice_shipment_states(sales)
cls._process_state(sales)
@classmethod
def view_attributes(cls):
return super(SaleLine, cls).view_attributes() + [
('//page[@id="equipment"]', 'states', {
'invisible': ~Eval('lines.product.equipment'),
})]