From 19f6449ea4eaf0c45c429132aeb83f64d8272d7e Mon Sep 17 00:00:00 2001 From: Bertrand Chenal Date: Thu, 10 Apr 2008 16:32:11 +0200 Subject: [PATCH] Records with active workflow cannot be deleted --- trytond/osv/orm.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/trytond/osv/orm.py b/trytond/osv/orm.py index ddd776c93c..f288cdeff5 100644 --- a/trytond/osv/orm.py +++ b/trytond/osv/orm.py @@ -1259,6 +1259,14 @@ class ORM(object): self.pool.get('ir.model.access').check(cursor, user, self._name, 'unlink') + cursor.execute("SELECT id FROM wkf_instance "\ + "WHERE res_id IN ("+",".join(["%s" for i in ids])+") "\ + "AND res_type = %s AND state != 'complete'", + (ids+[self._name])) + if cursor.rowcount != 0: + raise ExceptORM( + 'UserError','You cannot delete a record with a running workflow.') + wf_service = LocalService("workflow") for obj_id in ids: wf_service.trg_delete(user, self._name, obj_id, cursor)