diff --git a/dav_events/workflow.py b/dav_events/workflow.py index c173c41..f1c012b 100644 --- a/dav_events/workflow.py +++ b/dav_events/workflow.py @@ -268,14 +268,16 @@ class BasicWorkflow(object): if heaviest_flag: last_status = heaviest_flag.status if last_status.code.startswith('publishing_'): - flags = event.flags.filter(status__code='accepted') - flags.append(heaviest_flag) + flags = [] + flags += event.flags.filter(status__code='accepted') + flags += heaviest_flag elif last_status.code.startswith('published_'): + flags = [] if event.flags.filter(status__code='publishing').exists(): - flags = event.flags.filter(status__code='publishing') + flags += event.flags.filter(status__code='publishing') else: - flags = event.flags.filter(status__code='accepted') - flags.append(heaviest_flag) + flags += event.flags.filter(status__code='accepted') + flags += heaviest_flag elif last_status.code.startswith('clear'): flags = [heaviest_flag] flags += event.flags.filter(status__code__in=('canceled', 'realized'))