toulouse-maelis: add endpoint to get child's school subscription infos (#72750) #27
|
@ -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)
|
||||
|
|
|
@ -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>
|
|
@ -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']
|
||||
|
|
Loading…
Reference in New Issue