workflows: don't use json output to store workflow form data (#7132)

This commit is contained in:
Frédéric Péters 2015-05-19 10:58:12 +02:00
parent 46d8878fbd
commit 072aba3145
1 changed files with 5 additions and 4 deletions

View File

@ -22,7 +22,7 @@ from wcs.workflows import WorkflowStatusItem, register_item_class
from wcs.formdef import FormDef
from wcs.admin.fields import FieldDefPage, FieldsDirectory
from wcs.formdata import get_json_dict
from wcs.formdata import get_dict_with_varnames
class WorkflowFormFieldsFormDef(FormDef):
@ -125,9 +125,10 @@ class FormWorkflowStatusItem(WorkflowStatusItem):
def submit_form(self, form, formdata, user, evo):
if form.get_submit() == 'submit' and not form.has_errors():
workflow_data = {}
for k, v in get_json_dict(
self.formdef.fields, self.formdef.get_data(form)).items():
workflow_data['%s_var_%s' % (self.varname, k)] = v
for k, v in get_dict_with_varnames(
self.formdef.fields, self.formdef.get_data(form),
varnames_only=True).items():
workflow_data['%s_%s' % (self.varname, k)] = v
formdata.update_workflow_data(workflow_data)
formdata.store()