Add serialization of querysets to the dynamic state action form.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-08-25 02:09:11 -04:00
parent a11d274d16
commit 87e8320781

View File

@@ -3,6 +3,7 @@ from __future__ import absolute_import, unicode_literals
import json
from django import forms
from django.db.models.query import QuerySet
from django.forms.formsets import formset_factory
from django.utils.translation import ugettext_lazy as _
@@ -61,9 +62,10 @@ class WorkflowStateActionDynamicForm(DynamicModelForm):
action_data[field['name']] = data.pop(
field['name'], field.get('default', None)
)
if isinstance(action_data[field['name']], QuerySet):
# Flatten the queryset to a list of ids
action_data[field['name']] = list(action_data[field['name']].values_list('id', flat=True))
# Flatten the queryset to a list of ids
action_data['tags'] = list(action_data['tags'].values_list('id', flat=True))
data['action_data'] = json.dumps(action_data)
return data