From 08c82688e7dbab1356e081a889af2ec6200986ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 10 Nov 2016 09:33:10 +0100 Subject: [PATCH] Tasks: set default assigned_to to {users: []}. When the task is assigned to a user, this prevents a change of 'assigned_to' to a dict {users: [user_id]}. Instead, the activity will be registered on 'assigned_to.users', which is nicer. --- attract/tasks/eve_hooks.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/attract/tasks/eve_hooks.py b/attract/tasks/eve_hooks.py index ec0fa09..fd82fff 100644 --- a/attract/tasks/eve_hooks.py +++ b/attract/tasks/eve_hooks.py @@ -177,16 +177,21 @@ def activity_after_deleting_task(task): @only_for_task -def create_shortcode(task): +def set_defaults(task): from attract import shortcodes shortcode = shortcodes.generate_shortcode(task['project'], task['node_type'], u'T') - task.setdefault('properties', {})['shortcode'] = shortcode + task_properties = task.setdefault('properties', {}) + task_properties['shortcode'] = shortcode + + # When the task is assigned to a user, this prevents a change of 'assigned_to' to a dict. + # Instead, the activity will be registered on 'assigned_to.users', which is nicer. + task_properties.setdefault('assigned_to', {u'users': []}) -def create_shortcodes(nodes): +def nodes_set_defaults(nodes): for node in nodes: - create_shortcode(node) + set_defaults(node) def setup_app(app): @@ -195,6 +200,6 @@ def setup_app(app): app.on_replaced_nodes += activity_after_replacing_task app.on_inserted_nodes += activity_after_creating_tasks - app.on_insert_nodes += create_shortcodes + app.on_insert_nodes += nodes_set_defaults app.on_deleted_item_nodes += activity_after_deleting_task app.on_deleted_resource_nodes += activity_after_deleting_task