diff --git a/attract/task_manager.py b/attract/task_manager.py
index da2b389..f82adca 100644
--- a/attract/task_manager.py
+++ b/attract/task_manager.py
@@ -68,7 +68,7 @@ class TaskManager(object):
task.description = fields.pop('description')
task.properties.status = fields.pop('status')
task.properties.task_type = fields.pop('task_type', '').strip() or None
-
+ task.properties.assigned_to = {'users': fields.pop('users')}
self._log.info('Saving task %s', task.to_dict())
if fields:
diff --git a/attract/tasks.py b/attract/tasks.py
index 0b83f1d..d40ab7c 100644
--- a/attract/tasks.py
+++ b/attract/tasks.py
@@ -43,6 +43,9 @@ def view_embed_task(project, attract_props, task_id):
api = pillar_api()
task = pillarsdk.Node.find(task_id, api=api)
node_type = project.get_node_type(node_type_task['name'])
+ # Fetch project users so that we can assign them tasks
+ users = project.get_users(api=api)
+ project.users = users['_items']
log.info('Attract properties: %s', attract_props)
@@ -59,7 +62,11 @@ def save(project, task_id):
log.info('Saving task %s', task_id)
log.debug('Form data: %s', request.form)
- task = current_attract.task_manager.edit_task(task_id, **request.form.to_dict())
+ assigned_to_users = request.form.getlist('users')
+ task_dict = request.form.to_dict()
+ task_dict['users'] = assigned_to_users
+
+ task = current_attract.task_manager.edit_task(task_id, **task_dict)
return flask.jsonify({'task_id': task_id, 'etag': task._etag, 'time': task._updated })
diff --git a/src/templates/attract/tasks/view_task_embed.jade b/src/templates/attract/tasks/view_task_embed.jade
index 5195537..ed2050f 100644
--- a/src/templates/attract/tasks/view_task_embed.jade
+++ b/src/templates/attract/tasks/view_task_embed.jade
@@ -33,5 +33,13 @@ script(src="{{ url_for('static_attract', filename='js/tasks.js') }}",async=true)
|
| {% endfor %}
+ .input-transparent-group
+ select.input-transparent(
+ name="users",
+ multiple,
+ aria-describedby="task-addon-users")
+ | {% for u in project.users %}
+ |
+ | {% endfor %}
.input-transparent-group
button.btn.btn-default(type=submit) Save task