Move check of deleting workflow.instance on ModelWorkflow

This commit is contained in:
Cédric Krier committed 2009-04-07 18:33:48 +02:00
1 parent dc86d0f6b7
commit 0e5d32cb24
2 files changed
+12 -11

No files matched your search

-11
View File
@@ -915,17 +915,6 @@ class ModelSQL(ModelStorage):
if context['_timestamp'].get(self._name + ',' + str(i)):
del context['_timestamp'][self._name + ',' +str(i)]
#TODO use search
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:
self.raise_user_error(cursor, 'delete_workflow_record',
context=context)
tree_ids = {}
for k in self._columns:
field = self._columns[k]
+12
View File
@@ -28,6 +28,18 @@ class ModelWorkflow(ModelStorage):
return res
def delete(self, cursor, user, ids, context=None):
instance_obj = self.pool.get('workflow.instance')
if isinstance(ids, (int, long)):
ids = [ids]
if instance_obj.search(cursor, 0, [
('res_id', 'in', ids),
('res_type', '=', self._name),
('state', '!=', 'complete'),
], context=context):
self.raise_user_error(cursor, 'delete_workflow_record',
context=context)
res = super(ModelWorkflow, self).delete(cursor, user, ids,
context=context)
self.workflow_trigger_delete(cursor, user, ids, context=context)