0001-workflows-set-bo-fields-to-empty-value-only-if-value.patch
tests/test_workflows.py | ||
---|---|---|
3784 | 3784 |
formdata = formdef.data_class().get(formdata.id) |
3785 | 3785 |
assert formdata.data['bo1'] is None |
3786 | 3786 | |
3787 |
item.fields = [{'field_id': 'bo1', 'value': '=""'}] |
|
3788 |
item.perform(formdata) |
|
3789 |
formdata = formdef.data_class().get(formdata.id) |
|
3790 |
assert formdata.data['bo1'] == '' |
|
3791 | ||
3787 | 3792 |
assert LoggedError.count() == 0 |
3788 | 3793 | |
3789 | 3794 |
item.fields = [{'field_id': 'bo1', 'value': '= ~ invalid python ~'}] |
wcs/wf/backoffice_fields.py | ||
---|---|---|
119 | 119 |
except IndexError: |
120 | 120 |
continue |
121 | 121 | |
122 |
try: |
|
123 |
new_value = self.compute(field['value'], raises=True, |
|
124 |
formdata=formdata, status_item=self) |
|
125 |
except: |
|
126 |
continue |
|
127 | ||
128 |
if new_value == '': |
|
129 |
# assign empty strings as None, as that will work for all field |
|
130 |
# types |
|
122 |
if field['value'] == '': |
|
123 |
# assign empty strings as None, as that will work for all field types |
|
131 | 124 |
new_value = None |
125 |
else: |
|
126 |
try: |
|
127 |
new_value = self.compute(field['value'], raises=True, |
|
128 |
formdata=formdata, status_item=self) |
|
129 |
except: |
|
130 |
continue |
|
132 | 131 | |
133 | 132 |
if formdef_field.convert_value_from_anything: |
134 | 133 |
try: |
135 |
- |