101 |
101 |
data = {
|
102 |
102 |
'list': [{'id': x.code, 'text': x.libelle} for x in response],
|
103 |
103 |
'dict': {x.code: x.libelle for x in response},
|
104 |
104 |
}
|
105 |
105 |
# put in cache for two hours
|
106 |
106 |
cache.set(cache_key, data, 3600 * 2)
|
107 |
107 |
return data
|
108 |
108 |
|
109 |
|
def get_referential_value(self, referential_name, key):
|
|
109 |
def get_referential_value(self, referential_name, key, log_warning=False):
|
110 |
110 |
try:
|
111 |
111 |
return self.get_referential(referential_name)['dict'][key]
|
112 |
112 |
except KeyError:
|
113 |
|
# Maelis DB not properly configurated
|
114 |
|
self.logger.warning("No '%s' key into Maelis '%s' referential", key, referential_name)
|
115 |
|
return key
|
|
113 |
if log_warning:
|
|
114 |
# Maelis DB not properly configurated
|
|
115 |
self.logger.warning("No '%s' key into Maelis '%s' referential", key, referential_name)
|
|
116 |
return None
|
116 |
117 |
|
117 |
118 |
def get_link(self, NameID):
|
118 |
119 |
try:
|
119 |
120 |
return self.link_set.get(name_id=NameID)
|
120 |
121 |
except Link.DoesNotExist:
|
121 |
122 |
raise APIError('User not linked to family', err_code='not-linked')
|
122 |
123 |
|
123 |
124 |
def get_family_raw(self, family_id):
|
... | ... | |
161 |
162 |
def add_text_value(self, referential_name, data, keys):
|
162 |
163 |
'''add text from referentials'''
|
163 |
164 |
last_key = keys.pop()
|
164 |
165 |
for key in keys:
|
165 |
166 |
if not isinstance(data, dict) or not key in data:
|
166 |
167 |
return
|
167 |
168 |
data = data[key]
|
168 |
169 |
if isinstance(data, dict) and last_key in data and data[last_key] is not None:
|
169 |
|
data[last_key + '_text'] = self.get_referential_value(referential_name, data[last_key])
|
|
170 |
data[last_key + '_text'] = (
|
|
171 |
self.get_referential_value(referential_name, data[last_key], log_warning=True) or last_key
|
|
172 |
)
|
170 |
173 |
|
171 |
174 |
def add_text_value_to_child_person(self, data):
|
172 |
175 |
self.add_text_value('Civility', data, ['personInfo', 'civility'])
|
173 |
176 |
self.add_text_value('Quality', data, ['personQuality', 'code'])
|
174 |
177 |
self.add_text_value('Sex', data, ['personInfo', 'sexe'])
|
175 |
178 |
return data
|
176 |
179 |
|
177 |
180 |
def add_text_value_to_child(self, data):
|