family: use id varnames used in wcs forms (#8275)
This commit is contained in:
parent
b3ebe9ad9b
commit
b5ccede04f
|
@ -60,26 +60,26 @@ class FamilyInfosCell(CellBase):
|
|||
if ws_family_data.get('err') or not ws_family_data.get('data'):
|
||||
return {}
|
||||
# get formdefs and formdata from wcs
|
||||
def add_forms(obj, formdefs, forms, drafts, varname):
|
||||
def add_forms(obj, formdefs, forms, drafts, id_varname):
|
||||
keywords_set = set(obj.get('keywords', []))
|
||||
obj['formdefs'] = [f for f in formdefs
|
||||
if keywords_set.intersection(f.get('keywords', []))]
|
||||
if obj.get('id'):
|
||||
obj['forms'] = [f for f in forms
|
||||
if f['fields'].get(varname) == obj['id']]
|
||||
if f['fields'].get(id_varname) == obj['id']]
|
||||
obj['drafts'] = [f for f in drafts
|
||||
if f['fields'].get(varname) == obj['id']]
|
||||
if f['fields'].get(id_varname) == obj['id']]
|
||||
if get_wcs_services():
|
||||
formdefs = get_wcs_data('/api/formdefs/', params)
|
||||
params['full'] = 'on'
|
||||
forms = get_wcs_data('/api/user/forms', params)
|
||||
drafts = get_wcs_data('/api/user/drafts', params)
|
||||
family = ws_family_data['data']
|
||||
add_forms(family, formdefs, forms, drafts, 'family_id_raw')
|
||||
add_forms(family, formdefs, forms, drafts, id_varname='family_raw')
|
||||
for adult in family.get('adults', []):
|
||||
add_forms(adult, formdefs, forms, drafts, 'adult_id_raw')
|
||||
add_forms(adult, formdefs, forms, drafts, id_varname='adult_raw')
|
||||
for child in family.get('children', []):
|
||||
add_forms(child, formdefs, forms, drafts, 'child_id_raw')
|
||||
add_forms(child, formdefs, forms, drafts, id_varname='child_raw')
|
||||
context['family'] = ws_family_data
|
||||
return context
|
||||
|
||||
|
|
Loading…
Reference in New Issue