toulouse-maelis: alway call zeep serializer (#74084)
This commit is contained in:
parent
d2871f3fa0
commit
5f578fd978
|
@ -76,9 +76,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
client = self.get_client(wsdl_short_name)
|
||||
method = getattr(client.service, service)
|
||||
try:
|
||||
return method(**kwargs)
|
||||
response = method(**kwargs)
|
||||
except zeep.exceptions.Fault as e:
|
||||
raise APIError(e.message, err_code='%s-%s-%s' % (wsdl_short_name, service, e.code))
|
||||
return serialize_object(response)
|
||||
|
||||
def check_status(self):
|
||||
assert self.call('Family', 'isWSRunning')
|
||||
|
@ -109,8 +110,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
|
||||
def get_referential_data(self, service_name, referential_name):
|
||||
try:
|
||||
response = self.call(service_name, 'read' + referential_name + 'List')
|
||||
return serialize_object(response)
|
||||
return self.call(service_name, 'read' + referential_name + 'List')
|
||||
except Exception as e:
|
||||
raise UpdateError('Service indisponible : %s' % str(e))
|
||||
|
||||
|
@ -243,9 +243,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
raise APIError('User not linked to family', err_code='not-linked')
|
||||
|
||||
def get_family_raw(self, family_id, **kwargs):
|
||||
response = self.call('Family', 'readFamily', dossierNumber=family_id, **kwargs)
|
||||
data = serialize_object(response)
|
||||
return data
|
||||
return self.call('Family', 'readFamily', dossierNumber=family_id, **kwargs)
|
||||
|
||||
def get_rl_raw(self, family_id, rl_id, **kwargs):
|
||||
data = self.get_family_raw(family_id, **kwargs)
|
||||
|
@ -544,11 +542,9 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
'dateStartActivity': start_date,
|
||||
'dateEndActivity': end_date,
|
||||
}
|
||||
response = self.call(
|
||||
return self.call(
|
||||
'Activity', 'getPersonCatalogueActivity', getPersonCatalogueActivityRequestBean=params
|
||||
)
|
||||
data = serialize_object(response)
|
||||
return data
|
||||
|
||||
def get_basket_raw(self, family_id):
|
||||
response = self.call(
|
||||
|
@ -1100,16 +1096,15 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
self.assert_family_payload_in_referential(post_data)
|
||||
|
||||
response = self.call('Family', 'createFamily', **post_data)
|
||||
data = serialize_object(response)
|
||||
family_id = data.get('number')
|
||||
family_id = response.get('number')
|
||||
if not family_id:
|
||||
errors = data.get('rl1ErrorList') + data.get('childErrorList')
|
||||
errors = response.get('rl1ErrorList') + response.get('childErrorList')
|
||||
err_codes = [x.split(':')[0][:4] for x in errors]
|
||||
raise APIError(' ; '.join(errors), err_code=', '.join(err_codes))
|
||||
|
||||
if NameID:
|
||||
Link.objects.create(resource=self, name_id=NameID, family_id=family_id)
|
||||
return {'data': data}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Famille',
|
||||
|
@ -1133,13 +1128,12 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
post_data['emergencyPersonList'] = [{'personList': persons}]
|
||||
|
||||
response = self.call('Family', 'updateFamily', dossierNumber=family_id, **post_data)
|
||||
data = serialize_object(response)
|
||||
family_id = data.get('number')
|
||||
errors = data.get('childErrorList')
|
||||
family_id = response.get('number')
|
||||
errors = response.get('childErrorList')
|
||||
if errors:
|
||||
err_codes = [x.split(':')[0][:4] for x in errors]
|
||||
raise APIError(' ; '.join(errors), err_code=', '.join(err_codes))
|
||||
return {'data': data}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Famille',
|
||||
|
@ -1155,10 +1149,9 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
self.assert_create_rl1_payload_in_referential(post_data)
|
||||
|
||||
response = self.call('Family', 'createFamily', **post_data)
|
||||
data = serialize_object(response)
|
||||
family_id = data.get('number')
|
||||
family_id = response.get('number')
|
||||
if not family_id:
|
||||
errors = data.get('rl1ErrorList') or []
|
||||
errors = response.get('rl1ErrorList') or []
|
||||
raise APIError(' ; '.join(errors), err_code='already-rl1')
|
||||
|
||||
if NameID:
|
||||
|
@ -1288,10 +1281,9 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
'child': post_data,
|
||||
}
|
||||
response = self.call('Family', 'createChild', **payload)
|
||||
data = serialize_object(response)
|
||||
child_id = data.get('number')
|
||||
child_id = response.get('number')
|
||||
if not child_id:
|
||||
errors = data.get('childErrorList') or []
|
||||
errors = response.get('childErrorList') or []
|
||||
raise APIError(' ; '.join(errors), err_code='already-child')
|
||||
return {'data': {'child_id': child_id}}
|
||||
|
||||
|
@ -1723,8 +1715,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
payload = {'addSuppliedDocumentRequestBean': post_data}
|
||||
payload['addSuppliedDocumentRequestBean']['numDossier'] = family_id
|
||||
response = self.call('Family', 'addSuppliedDocument', **payload)
|
||||
data = serialize_object(response)
|
||||
if data != 'OK':
|
||||
if response != 'OK':
|
||||
raise APIError('maelis fails to add the supplied document')
|
||||
return {'data': 'ok'}
|
||||
|
||||
|
@ -1764,9 +1755,8 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
}
|
||||
}
|
||||
response = self.call('Activity', 'getPersonScheduleList', **payload)
|
||||
result = serialize_object(response)
|
||||
for result_data in result or []:
|
||||
for schedule in result_data['activityScheduleList']:
|
||||
for response_data in response or []:
|
||||
for schedule in response_data['activityScheduleList']:
|
||||
activity = schedule['activity']
|
||||
if not activity['activityType']['natureSpec']:
|
||||
continue
|
||||
|
@ -1926,9 +1916,8 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
}
|
||||
}
|
||||
response = self.call('Activity', 'updatePersonSchedule', **payload)
|
||||
errors = serialize_object(response)
|
||||
if errors:
|
||||
raise APIError(' ; '.join(errors), err_code='agenda-child-error')
|
||||
if response:
|
||||
raise APIError(' ; '.join(response), err_code='agenda-child-error')
|
||||
|
||||
# sort changes
|
||||
activity_types = ['ACCMAT', 'RESTSCOL']
|
||||
|
@ -2007,8 +1996,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
'dateRef': dateRef,
|
||||
}
|
||||
response = self.call('Invoice', 'getDirectDebitOrder', **payload)
|
||||
data = serialize_object(response)
|
||||
return {'data': data}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2066,11 +2054,11 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
'Site', 'readSchoolForAdressAndLevel', readSchoolForAdressAndLevelRequestBean=data
|
||||
)
|
||||
data = []
|
||||
for item in serialize_object(response):
|
||||
for item in response:
|
||||
item['id'] = item['idSchool']
|
||||
item['text'] = item['schoolName']
|
||||
data.append(item)
|
||||
return {'data': serialize_object(data)}
|
||||
return {'data': data}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2093,11 +2081,11 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
|
||||
response = self.call('Family', 'readSchoolForChildAndLevel', **data)
|
||||
data = []
|
||||
for item in serialize_object(response):
|
||||
for item in response:
|
||||
item['id'] = item['idSchool']
|
||||
item['text'] = item['schoolName']
|
||||
data.append(item)
|
||||
return {'data': serialize_object(data)}
|
||||
return {'data': data}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2119,7 +2107,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
response = self.call(
|
||||
'Family', 'getChildSubscribeSchoolInformation', getFamilySubscribeSchoolInfoRequestBean=data
|
||||
)
|
||||
return {'data': serialize_object(response)}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2132,7 +2120,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
)
|
||||
def create_child_school_pre_registration(self, request, post_data):
|
||||
response = self.call('Family', 'preSubscribeSchoolPerim', **post_data)
|
||||
return {'data': serialize_object(response)}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2147,7 +2135,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
)
|
||||
def create_child_school_pre_registration_with_exemption(self, request, post_data):
|
||||
response = self.call('Family', 'presubscribeSchoolDerog', **post_data)
|
||||
return {'data': serialize_object(response)}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2162,7 +2150,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
)
|
||||
def create_child_school_pre_registration_with_sibling(self, request, post_data):
|
||||
response = self.call('Family', 'presubscribeSchoolSibling', **post_data)
|
||||
return {'data': serialize_object(response)}
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
|
Loading…
Reference in New Issue