diff --git a/purchase.py b/purchase.py index 954a355..dc0938b 100644 --- a/purchase.py +++ b/purchase.py @@ -2,7 +2,7 @@ #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.pyson import Eval +from trytond.pyson import Eval, If, Bool from trytond.exceptions import UserError from trytond.i18n import gettext from .exceptions import ( @@ -18,14 +18,13 @@ class Purchase(metaclass=PoolMeta): super(Purchase, cls).__setup__() cls._buttons.update({ 'create_equipments': { - 'invisible': ~Eval('equipment_avalaible')}, + 'invisible': If(Bool(Eval('equipment_available')), True)}, }) - @classmethod @ModelView.button def create_equipments(cls, purchases): - if len(purhcases) == 1: + if len(purchases) == 1: pool = Pool() Equipment = pool.get('optical_equipment.equipment') Line = pool.get('purchase.line') @@ -33,7 +32,8 @@ class Purchase(metaclass=PoolMeta): purchase = purchases[0] for line in purchase.lines: - equipment = Equipment( + if line.product.equipment: + equipment = Equipment( company=line.company, equipment_type=line.product.equipment_type, party_address=line.address_equipment, @@ -45,15 +45,20 @@ class Purchase(metaclass=PoolMeta): refurbish=line.refurbish, serial=line.serial_equipment, software_version=line.product.software_version) - - equipment.save() + equipment.save() + else: + continue purchase.equipment_available = True cls.save(purchases) + #raise UserError(str(purchase.equipment_available)) + else: raise InvalidNumberPurchases( gettext('purchase.msg_invalid_number_purchases')) + + """ @classmethod @ModelView.button