toulouse-maelis: add endpoint to get child's school subscription infos (#72750)
gitea-wip/passerelle/pipeline/pr-main This commit looks good Details

This commit is contained in:
Serghei Mihai 2023-01-06 10:43:35 +01:00
parent 842a31761c
commit 021761b608
3 changed files with 233 additions and 0 deletions

View File

@ -1977,6 +1977,27 @@ class ToulouseMaelis(BaseResource, HTTPResource):
data.append(item)
return {'data': serialize_object(data)}
@endpoint(
display_category='Inscriptions',
description="Remontée des informations scolaires d'un enfant",
name='read-child-school-informations',
perm='can_access',
parameters={
'NameID': {'description': 'Publik NameID'},
'child_id': {'description': 'Identifiant de l\'enfant', 'example_value': '190115'},
'level': {'description': 'Niveau scolaire', 'example_value': 'CP'},
'year': {'description': 'Année scolaire', 'example_value': '2023'},
},
)
def read_child_school_informations(self, request, NameID, child_id, level, year):
family_id = self.get_link(NameID).family_id
data = {'numDossier': family_id, 'numPerson': child_id, 'schoolYear': year, 'level': level}
response = self.call(
'Family', 'getChildSubscribeSchoolInformation', getFamilySubscribeSchoolInfoRequestBean=data
)
return {'data': serialize_object(response)}
class Link(models.Model):
resource = models.ForeignKey(ToulouseMaelis, on_delete=models.CASCADE)

View File

@ -0,0 +1,199 @@
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getChildSubscribeSchoolInformationResponse xmlns:ns2="family.ws.maelis.sigec.com">
<getFamilySubscribeSchoolInfoResultBean>
<rl1Info>
<num>10940</num>
<civility>MR</civility>
<lastname>BOUSENNA</lastname>
<firstname>DRISS</firstname>
<dateBirth>1961-02-06T00:00:00+01:00</dateBirth>
<sexe>M</sexe>
<mail>CONTACTDRISS31@GMAIL.COM</mail>
<address>
<idStreet>2317</idStreet>
<num>4</num>
<street1>RUE ACHILLE VIADIEU</street1>
<street2>APPT 40</street2>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
</rl1Info>
<childSubscribeSchoolInformation>
<person>
<num>190115</num>
<lastname>BOUSENNA</lastname>
<firstname>REDA</firstname>
<dateBirth>2017-04-27T00:00:00+02:00</dateBirth>
<sexe>M</sexe>
<address>
<idStreet>2317</idStreet>
<num>4</num>
<street1>RUE ACHILLE VIADIEU</street1>
<street2>APPT 40</street2>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
</person>
<subscribeSchoolYearList>
<subscribeSchool>
<idSubscribe>S10053183070</idSubscribe>
<schoolYear>2023</schoolYear>
<school>
<idSchool>2435</idSchool>
<schoolName>DUPONT PIERRE ELEMENTAIRE</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>GRANDE-RUE SAINT MICHEL</street1>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
<headmaster>FOURCADE MARIE-SYLVIE
</headmaster>
</school>
<preSubscribeDate>2022-12-13T00:00:00+01:00
</preSubscribeDate>
<level>
<code>CP</code>
<libelle>Cours préparatoire</libelle>
</level>
<perim>
<idPerim>2600</idPerim>
<libelle>DUPONT PIERRE</libelle>
</perim>
</subscribeSchool>
</subscribeSchoolYearList>
</childSubscribeSchoolInformation>
<personSubscribeSchoolList>
<person>
<num>190115</num>
<lastname>BOUSENNA</lastname>
<firstname>REDA</firstname>
<dateBirth>2017-04-27T00:00:00+02:00</dateBirth>
<sexe>M</sexe>
</person>
<subscribeSchoolYearList>
<subscribeSchool>
<idSubscribe>S10053183070</idSubscribe>
<schoolYear>2023</schoolYear>
<school>
<idSchool>2435</idSchool>
<schoolName>DUPONT PIERRE ELEMENTAIRE</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>GRANDE-RUE SAINT MICHEL</street1>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
<headmaster>FOURCADE MARIE-SYLVIE</headmaster>
</school>
<preSubscribeDate>2022-12-13T00:00:00+01:00</preSubscribeDate>
<level>
<code>CP</code>
<libelle>Cours préparatoire</libelle>
</level>
<perim>
<idPerim>2600</idPerim>
<libelle>DUPONT PIERRE</libelle>
</perim>
</subscribeSchool>
</subscribeSchoolYearList>
</personSubscribeSchoolList>
<personSubscribeSchoolList>
<person>
<num>103487</num>
<lastname>BOUSENNA</lastname>
<firstname>CHADIA</firstname>
<dateBirth>2015-03-15T00:00:00+01:00</dateBirth>
<sexe>F</sexe>
</person>
<subscribeSchoolYearList>
<subscribeSchool>
<idSubscribe>A10053182984</idSubscribe>
<schoolYear>2023</schoolYear>
<school>
<idSchool>2578</idSchool>
<schoolName>AMIDONNIERS ELEMENTAIRE</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>ALL DE BRIENNE</street1>
<town>TOULOUSE</town>
<zipcode>31000</zipcode>
</address>
<headmaster>TERRADA BENJAMIN</headmaster>
</school>
<preSubscribeDate>2022-12-13T00:00:00+01:00
</preSubscribeDate>
<level>
<code>CE2</code>
<libelle>Cours élémentaire 2</libelle>
</level>
<perim>
<idPerim>2599</idPerim>
<libelle>CALAS</libelle>
<perimSchoolList>
<idSchool>2435</idSchool>
<schoolName>DUPONT PIERRE ELEMENTAIRE</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>GRANDE-RUE SAINT MICHEL</street1>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
<headmaster>FOURCADE MARIE-SYLVIE</headmaster>
</perimSchoolList>
</perim>
</subscribeSchool>
</subscribeSchoolYearList>
</personSubscribeSchoolList>
<personSubscribeSchoolList>
<person>
<num>89971</num>
<lastname>BOUSENNA</lastname>
<firstname>LINA</firstname>
<dateBirth>2013-09-14T00:00:00+02:00</dateBirth>
<sexe>F</sexe>
</person>
<subscribeSchoolYearList>
<subscribeSchool>
<idSubscribe>A10053182983</idSubscribe>
<schoolYear>2023</schoolYear>
<school>
<idSchool>2609</idSchool>
<schoolName>JAURES JEAN ELEMENTAIRE
</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>AV FRIZAC</street1>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
<headmaster>BONNEVALE CAMILLE</headmaster>
</school>
<preSubscribeDate>2022-12-13T00:00:00+01:00</preSubscribeDate>
<level>
<code>CM2</code>
<libelle>Cours moyen 2</libelle>
</level>
<perim>
<idPerim>2599</idPerim>
<libelle>CALAS</libelle>
<perimSchoolList>
<idSchool>2435</idSchool>
<schoolName>DUPONT PIERRE ELEMENTAIRE</schoolName>
<address>
<idStreet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<street1>GRANDE-RUE SAINT MICHEL</street1>
<town>TOULOUSE</town>
<zipcode>31400</zipcode>
</address>
<headmaster>FOURCADE MARIE-SYLVIE</headmaster>
</perimSchoolList>
</perim>
</subscribeSchool>
</subscribeSchoolYearList>
</personSubscribeSchoolList>
</getFamilySubscribeSchoolInfoResultBean>
</ns2:getChildSubscribeSchoolInformationResponse>
</soap:Body>
</soap:Envelope>

View File

@ -4323,3 +4323,16 @@ def test_read_school_list_child_and_level(family_service, con, app):
for item in resp.json['data']:
assert 'id' in item
assert 'text' in item
def test_read_child_school_subscription_information(family_service, con, app):
Link.objects.create(resource=con, family_id='47916', name_id='local')
family_service.add_soap_response(
'getChildSubscribeSchoolInformation', get_xml_file('R_get_child_subscribe_school_information.xml')
)
url = get_endpoint('read-child-school-informations')
resp = app.get(url, params={'NameID': 'local', 'child_id': '190115', 'year': '2023', 'level': 'CP'})
assert resp.json['err'] == 0
assert 'rl1Info' in resp.json['data']
assert 'childSubscribeSchoolInformation' in resp.json['data']
assert 'personSubscribeSchoolList' in resp.json['data']