tab 'equipment' in purchase invisible if product not is a equipment
This commit is contained in:
parent
274a095b72
commit
5058a46c37
67
purchase.py
67
purchase.py
@ -51,75 +51,22 @@ class Purchase(metaclass=PoolMeta):
|
|||||||
purchase.equipment_available = True
|
purchase.equipment_available = True
|
||||||
cls.save(purchases)
|
cls.save(purchases)
|
||||||
#raise UserError(str(purchase.equipment_available))
|
#raise UserError(str(purchase.equipment_available))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise InvalidNumberPurchases(
|
raise InvalidNumberPurchases(
|
||||||
gettext('purchase.msg_invalid_number_purchases'))
|
gettext('purchase.msg_invalid_number_purchases'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
@classmethod
|
|
||||||
@ModelView.button
|
|
||||||
def process(cls, purchases):
|
|
||||||
pool = Pool()
|
|
||||||
Equipment = pool.get('optical_equipment.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):
|
class Line(metaclass=PoolMeta):
|
||||||
__name__ = 'purchase.line'
|
__name__ = 'purchase.line'
|
||||||
|
|
||||||
address_equipment = fields.Many2One('party.address', "Direccion")
|
address_equipment = fields.Many2One('party.address', "Direccion")
|
||||||
serial_equipment = fields.Char("Serial", size=None, required=True)
|
serial_equipment = fields.Char("Serial", size=None, required=True)
|
||||||
refurbish = fields.Boolean("Refurbish")
|
refurbish = fields.Boolean("Refurbish")
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def view_attributes(cls):
|
||||||
|
return super(Line, cls).view_attributes() + [
|
||||||
|
('//page[@id="equipment"]', 'states', {
|
||||||
|
'invisible': ~Eval('line.product.equipment'),
|
||||||
|
})]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user