@api.multi
@api.returns('self', lambda procurements: [procurement.id for procurement in procurements])
def check(self, autocommit=False):
# TDE FIXME: check should not do something, just check
procurements_done = self.env['procurement.order']
for procurement in self:
try:
result = procurement._check()
if result:
procurements_done += procurement
if autocommit:
self.env.cr.commit()
except OperationalError:
if autocommit:
self.env.cr.rollback()
continue
else:
raise
finally:
if use_new_cursor:
try:
self.env.cr.close()
except Exception:
pass
if procurements_done:
procurements_done.write({'state': 'done'})
return procurements_done