family: use id varnames used in wcs forms (#8275)

This commit is contained in:
Thomas NOËL 2015-11-11 18:43:50 +01:00
parent b3ebe9ad9b
commit b5ccede04f
1 changed files with 6 additions and 6 deletions

View File

@ -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