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.
This commit is contained in:
2016-11-10 09:33:10 +01:00
parent 1a6fb58d6e
commit 08c82688e7

View File

@@ -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