Fix edge case for validation reversal #22008

This commit is contained in:
Nicolas Demonte 2019-02-12 10:17:04 +01:00
parent 725827414d
commit 117ad34b22
1 changed files with 6 additions and 4 deletions

View File

@ -103,13 +103,15 @@ def change_validation_state(context, event):
elif event.transition.id == 'cancel-validation':
for ref in catalog.findRelations(query):
validation = ref.from_object
api.content.transition(validation, 'cancel-validation')
validation.reindexObject(idxs=['review_state'])
if api.content.get_state(validation) == 'validated':
api.content.transition(validation, 'cancel-validation')
validation.reindexObject(idxs=['review_state'])
elif event.transition.id == 'cancel-refusal':
for ref in catalog.findRelations(query):
validation = ref.from_object
api.content.transition(validation, 'cancel-refusal')
validation.reindexObject(idxs=['review_state'])
if api.content.get_state(validation) == 'refused':
api.content.transition(validation, 'cancel-refusal')
validation.reindexObject(idxs=['review_state'])
@grok.subscribe(IDmsFile, IObjectWillBeRemovedEvent)