workflows: correctly reset display/structured data (#46657)
This commit is contained in:
parent
fa4a58429d
commit
a9dc330eb4
|
@ -5267,6 +5267,25 @@ def test_edit_carddata_with_data_sourced_object(pub):
|
|||
assert data.data['2'] == 'b'
|
||||
assert data.data['2_display'] == 'baker'
|
||||
|
||||
# reset data
|
||||
edit.mappings = [
|
||||
Mapping(field_id='2', expression='=None'),
|
||||
]
|
||||
wf.store()
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
formdata.data = {
|
||||
'0': '1',
|
||||
'1': 'b'
|
||||
}
|
||||
formdata.store()
|
||||
formdata.just_created()
|
||||
formdata.perform_workflow()
|
||||
|
||||
data = carddef.data_class().select()[0]
|
||||
assert data.data['2'] is None
|
||||
assert data.data['2_display'] is None
|
||||
|
||||
|
||||
def test_edit_carddata_with_linked_object(pub):
|
||||
FormDef.wipe()
|
||||
|
|
|
@ -424,7 +424,12 @@ class CreateFormdataWorkflowStatusItem(WorkflowStatusItem):
|
|||
|
||||
formdata.data['%s' % field.id] = value
|
||||
if value is None:
|
||||
if field.store_display_value:
|
||||
formdata.data['%s_display' % field.id] = None
|
||||
if field.store_structured_value:
|
||||
formdata.data['%s_structured' % field.id] = None
|
||||
return
|
||||
|
||||
if field.store_display_value:
|
||||
display_value = field.store_display_value(
|
||||
formdata.data, field.id)
|
||||
|
|
Loading…
Reference in New Issue