From 117ad34b22d9e63b152ba8df4d4f5c1eeeab9352 Mon Sep 17 00:00:00 2001 From: Nicolas Demonte Date: Tue, 12 Feb 2019 10:17:04 +0100 Subject: [PATCH] Fix edge case for validation reversal #22008 --- src/pfwbged/policy/subscribers/document.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pfwbged/policy/subscribers/document.py b/src/pfwbged/policy/subscribers/document.py index 6f47610..a14edc3 100644 --- a/src/pfwbged/policy/subscribers/document.py +++ b/src/pfwbged/policy/subscribers/document.py @@ -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)