Move check of deleting workflow.instance on ModelWorkflow
This commit is contained in:
1 parent
dc86d0f6b7
commit
0e5d32cb24
2 files changed
+12
-11
No files matched your search
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user