0001-fields-add-a-structured-form-to-map-fields-28639.patch
wcs/fields.py | ||
---|---|---|
306 | 306 |
def get_csv_value(self, element, **kwargs): |
307 | 307 |
return [] |
308 | 308 | |
309 |
def get_structured_value(self, data): |
|
310 |
if not self.store_structured_value: |
|
311 |
return None |
|
312 |
return data.get('%s_structured' % self.id) |
|
313 | ||
309 | 314 |
def get_prefill_value(self, user=None, force_string=True): |
310 | 315 |
# returns a tuple with two items, |
311 | 316 |
# 1. value[str], the value that will be used to prefill |
... | ... | |
2093 | 2098 |
else: |
2094 | 2099 |
return None |
2095 | 2100 | |
2101 |
def get_structured_value(self, data): |
|
2102 |
return self.get_json_value(data.get(self.id)) |
|
2103 | ||
2104 | ||
2096 | 2105 |
register_field_class(MapField) |
2097 | 2106 | |
2098 | 2107 |
wcs/formdata.py | ||
---|---|---|
77 | 77 |
formdata.get_url(), field.id) |
78 | 78 |
elif raw_value is not None: |
79 | 79 |
new_data['var_%s_raw' % field.varname] = raw_value |
80 |
if field.store_structured_value and data is not None:
|
|
81 |
structured_value = data.get('%s_structured' % field.id)
|
|
80 |
if data is not None: |
|
81 |
structured_value = field.get_structured_value(data)
|
|
82 | 82 |
if type(structured_value) is dict: |
83 | 83 |
for k, v in structured_value.items(): |
84 | 84 |
if k in ('id', 'text'): |
wcs/variables.py | ||
---|---|---|
374 | 374 |
return getattr(self, key) |
375 | 375 |
except AttributeError: |
376 | 376 |
pass |
377 |
structured_value = self.data.get('%s_structured' % self.field.id)
|
|
378 |
if not (self.field.store_structured_value and structured_value):
|
|
377 |
structured_value = self.field.get_structured_value(self.data)
|
|
378 |
if not structured_value:
|
|
379 | 379 |
raise KeyError(key) |
380 | 380 |
if isinstance(structured_value, dict): |
381 | 381 |
return structured_value[key] |
382 |
- |