toulouse-maelis: ajouter la semaine type à la réservation (#74438) #102
|
@ -74,6 +74,10 @@ SUBSCRIPTION_SCHEMA = {
|
|||
'type': 'string',
|
||||
'pattern': '^[0-9]{4}-[0-9]{2}-[0-9]{2}$',
|
||||
},
|
||||
'recurrent_week': {
|
||||
'type': 'array',
|
||||
'items': {'type': 'string'},
|
||||
},
|
||||
},
|
||||
'required': [
|
||||
'person_id',
|
||||
|
|
|
@ -2666,7 +2666,34 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
},
|
||||
'dateRef': ref_date,
|
||||
}
|
||||
return {'data': self.call('Activity', 'getPersonUnitInfo', getPersonUnitInfoRequestBean=params)}
|
||||
response = self.call('Activity', 'getPersonUnitInfo', getPersonUnitInfoRequestBean=params)
|
||||
|
||||
day_names = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche']
|
||||
recurrent_week = []
|
||||
weekly_calendar = response['weeklyCalendarActivity']
|
||||
if response['calendarGeneration'].get('value') in ('O', 'F') and weekly_calendar:
|
||||
units = []
|
||||
for item in response.get('unitScheduleList') or []:
|
||||
key = item['unit']['calendarLetter']
|
||||
value = item['unit']['libelle']
|
||||
units.append((key, value))
|
||||
|
||||
for item in weekly_calendar.get('dayWeekInfoList') or []:
|
||||
if item['isOpen']:
|
||||
day_num = item['dayNum']
|
||||
day = day_names[day_num - 1]
|
||||
for key, value in units:
|
||||
recurrent_week.append(
|
||||
{
|
||||
'id': '%s-%s' % (day_num, key),
|
||||
'day': day,
|
||||
'label': value,
|
||||
'overlaps': ['%s-%s' % (day_num, k) for k, v in units if k != key],
|
||||
'text': '%s %s' % (day, value),
|
||||
}
|
||||
)
|
||||
response['recurrent_week'] = recurrent_week
|
||||
return {'data': response}
|
||||
|
||||
@endpoint(
|
||||
display_category='Inscriptions',
|
||||
|
@ -2690,6 +2717,16 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
):
|
||||
family_id = family_id or self.get_link(NameID).family_id
|
||||
|
||||
recurrent_week = []
|
||||
for item in post_data.get('recurrent_week') or []:
|
||||
day_num, key = item.split('-')
|
||||
recurrent_week.append(
|
||||
{
|
||||
'dayNum': day_num,
|
||||
'calendarLetter': key,
|
||||
'isPresent': True,
|
||||
}
|
||||
)
|
||||
payload = {
|
||||
'addPersonUnitBasketRequestBean': {
|
||||
'numFamily': family_id,
|
||||
|
@ -2699,6 +2736,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
'idPlace': post_data['place_id'],
|
||||
'dateStartSubscribe': post_data['start_date'],
|
||||
'dateEndSubscribe': post_data['end_date'],
|
||||
'dayWeekInfoList': recurrent_week,
|
||||
}
|
||||
}
|
||||
response = self.call('Activity', 'addPersonUnitBasket', **payload)
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="activity.ws.maelis.sigec.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="ActivityService" targetNamespace="activity.ws.maelis.sigec.com">
|
||||
<wsdl:types>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="bean.persistence.school.ws.maelis.sigec.com" targetNamespace="bean.persistence.school.ws.maelis.sigec.com" version="1.0">
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="bean.persistence.school.ws.maelis.sigec.com" xmlns:ns1="activity.ws.maelis.sigec.com" targetNamespace="bean.persistence.school.ws.maelis.sigec.com" version="1.0">
|
||||
|
||||
<xs:import namespace="activity.ws.maelis.sigec.com"/>
|
||||
|
||||
<xs:complexType name="weeklyCalendarActivityBean">
|
||||
<xs:sequence>
|
||||
|
@ -16,6 +18,43 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="unitScheduleBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="unit" type="tns:unit2Bean"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="dayInfoList" nillable="true" type="tns:dayInfoBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="unit2Bean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="idActivity" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="idUnit" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="libelle" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="calendarLetter" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="dateDeb" type="xs:dateTime"/>
|
||||
<xs:element minOccurs="0" name="dateFin" type="xs:dateTime"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dayInfoBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="day" type="xs:dateTime"/>
|
||||
<xs:element name="scheduledPresence" type="xs:int"/>
|
||||
<xs:element name="realPresence" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="absence" type="tns:absenceBean"/>
|
||||
<xs:element form="qualified" minOccurs="0" name="status" type="ns1:dayInfoStatus"/>
|
||||
<xs:element form="qualified" minOccurs="0" name="action" type="ns1:dayInfoAction"/>
|
||||
<xs:element minOccurs="0" name="hasPlace" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="absenceBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="libelle" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="code" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="bean.persistence.activity.ws.maelis.sigec.com" xmlns:ns2="bean.persistence.school.ws.maelis.sigec.com" xmlns:ns1="activity.ws.maelis.sigec.com" targetNamespace="bean.persistence.activity.ws.maelis.sigec.com" version="1.0">
|
||||
|
||||
|
@ -42,6 +81,7 @@
|
|||
<xs:element minOccurs="0" name="dayNum" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="isPresent" type="xs:boolean"/>
|
||||
<xs:element minOccurs="0" name="isOpen" type="xs:boolean"/>
|
||||
<xs:element minOccurs="0" name="calendarLetter" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
|
@ -121,6 +161,7 @@
|
|||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="idAct" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="libelle" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="libelle2" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="activityType" type="tns:activityTypeBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
@ -151,6 +192,7 @@
|
|||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="idUnit" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="libelle" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="calendarLetter" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
|
@ -278,6 +320,8 @@
|
|||
<xs:element minOccurs="0" name="obs1" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="obs2" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="numTel" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="latitude" type="xs:double"/>
|
||||
<xs:element minOccurs="0" name="longitude" type="xs:double"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
|
@ -409,11 +453,12 @@
|
|||
<xs:element minOccurs="0" name="controlResult" type="ns1:controlResultBean"/>
|
||||
<xs:element minOccurs="0" name="personInfo" type="tns:personInfoBean"/>
|
||||
<xs:element minOccurs="0" name="activity" type="tns:activity2Bean"/>
|
||||
<xs:element minOccurs="0" name="unit" type="tns:unitInfoBean"/>
|
||||
<xs:element minOccurs="0" name="place" type="tns:placeBasketBean"/>
|
||||
<xs:element minOccurs="0" name="calendarGeneration" type="ns1:activityCalendarGenerationBean"/>
|
||||
<xs:element minOccurs="0" name="weeklyCalendarActivity" type="tns:weeklyCalendarSubscribeUnitBean"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="openDayList" nillable="true" type="tns:dayOpenBean"/>
|
||||
<xs:element minOccurs="0" name="unit" type="tns:unitInfoBean"/>
|
||||
<xs:element minOccurs="0" name="place" type="tns:placeBasketBean"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="unitScheduleList" nillable="true" type="ns2:unitScheduleBean"/>
|
||||
<xs:element minOccurs="0" name="billingInformation" type="tns:billingInformationBean"/>
|
||||
<xs:element minOccurs="0" name="action" type="ns1:subscribeAction"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="indicatorList" nillable="true" type="tns:indicatorBean"/>
|
||||
|
@ -442,26 +487,6 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="weeklyCalendarSubscribeUnitBean">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="dayWeekInfoList" nillable="true" type="tns:dayWeekActivityInfoBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dayWeekActivityInfoBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="dayNum" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="isOpen" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dayOpenBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="day" type="xs:dateTime"/>
|
||||
<xs:element minOccurs="0" name="hasPlace" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="unitInfoBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="idUnit" type="xs:string"/>
|
||||
|
@ -509,6 +534,26 @@
|
|||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="weeklyCalendarSubscribeUnitBean">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="dayWeekInfoList" nillable="true" type="tns:dayWeekActivityInfoBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dayWeekActivityInfoBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="dayNum" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="isOpen" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dayOpenBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="day" type="xs:dateTime"/>
|
||||
<xs:element minOccurs="0" name="hasPlace" type="xs:boolean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="billingInformationBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="modeFact" type="ns1:modeFactBean"/>
|
||||
|
@ -619,7 +664,7 @@
|
|||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="activity.ws.maelis.sigec.com" xmlns:ns1="bean.persistence.activity.ws.maelis.sigec.com" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="activity.ws.maelis.sigec.com">
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="activity.ws.maelis.sigec.com" xmlns:ns2="bean.persistence.school.ws.maelis.sigec.com" xmlns:ns1="bean.persistence.activity.ws.maelis.sigec.com" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="activity.ws.maelis.sigec.com">
|
||||
<xs:import namespace="bean.persistence.activity.ws.maelis.sigec.com"/>
|
||||
<xs:import namespace="bean.persistence.school.ws.maelis.sigec.com"/>
|
||||
<xs:element name="addPersonUnitBasket" type="tns:addPersonUnitBasket"/>
|
||||
|
@ -656,6 +701,8 @@
|
|||
<xs:element name="updatePersonScheduleResponse" type="tns:updatePersonScheduleResponse"/>
|
||||
<xs:element name="updatePersonUnitBasket" type="tns:updatePersonUnitBasket"/>
|
||||
<xs:element name="updatePersonUnitBasketResponse" type="tns:updatePersonUnitBasketResponse"/>
|
||||
<xs:element name="updateWeekCalendar" type="tns:updateWeekCalendar"/>
|
||||
<xs:element name="updateWeekCalendarResponse" type="tns:updateWeekCalendarResponse"/>
|
||||
<xs:element name="validateBasket" type="tns:validateBasket"/>
|
||||
<xs:element name="validateBasketResponse" type="tns:validateBasketResponse"/>
|
||||
<xs:complexType name="addPersonUnitBasket">
|
||||
|
@ -831,6 +878,19 @@
|
|||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="consoTarifKernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="commune" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="consoKernelBean" type="tns:codeLabelKernelBean"/>
|
||||
<xs:element minOccurs="0" name="tarifKernelBean" type="tns:codeLabelKernelBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="codeLabelKernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="code" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="label" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="activityPeriodCapacityKernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="calendCapacityExceptKernelList" nillable="true" type="tns:calendCapacityKernelBean"/>
|
||||
|
@ -844,25 +904,12 @@
|
|||
<xs:element minOccurs="0" name="dayDate" type="xs:dateTime"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="codeLabelKernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="code" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="label" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="activityUnitPlace2KernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="activityKernel" type="xs:anyType"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="unitKernelList" nillable="true" type="xs:anyType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="consoTarifKernelBean">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="commune" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="consoKernelBean" type="tns:codeLabelKernelBean"/>
|
||||
<xs:element minOccurs="0" name="tarifKernelBean" type="tns:codeLabelKernelBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="validateBasket">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="validateBasketRequestBean" type="ns1:validateBasketRequestBean"/>
|
||||
|
@ -967,6 +1014,18 @@
|
|||
<xs:element minOccurs="0" name="resultBean" type="ns1:updatePersonScheduleResultBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="updateWeekCalendar">
|
||||
<xs:sequence>
|
||||
<xs:element name="idActivity" type="xs:string"/>
|
||||
<xs:element name="numPerson" type="xs:int"/>
|
||||
<xs:element name="dateStart" type="xs:dateTime"/>
|
||||
<xs:element minOccurs="0" name="dateEnd" type="xs:dateTime"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="dayWeekInfoList" type="ns1:dayWeekInfoBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="updateWeekCalendarResponse">
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="readActivityNatureTypeList">
|
||||
<xs:sequence/>
|
||||
</xs:complexType>
|
||||
|
@ -995,6 +1054,13 @@
|
|||
<xs:element minOccurs="0" name="getPersonCatalogueActivityResultBean" type="ns1:getPersonCatalogueActivityResultBean"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="indicatorTypeDescEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NONE"/>
|
||||
<xs:enumeration value="NOTE"/>
|
||||
<xs:enumeration value="CHOICE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="blocNoteTypeEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="A"/>
|
||||
|
@ -1004,13 +1070,6 @@
|
|||
<xs:enumeration value="ID"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="indicatorTypeDescEnum">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NONE"/>
|
||||
<xs:enumeration value="NOTE"/>
|
||||
<xs:enumeration value="CHOICE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="dayInfoStatus">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NO_CUSTODY"/>
|
||||
|
@ -1104,6 +1163,10 @@
|
|||
<wsdl:part element="tns:delSchedulePresenceUnitResponse" name="parameters">
|
||||
</wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateWeekCalendarResponse">
|
||||
<wsdl:part element="tns:updateWeekCalendarResponse" name="parameters">
|
||||
</wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updatePersonUnitBasket">
|
||||
<wsdl:part element="tns:updatePersonUnitBasket" name="parameters">
|
||||
</wsdl:part>
|
||||
|
@ -1184,6 +1247,10 @@
|
|||
<wsdl:part element="tns:addSchedulePresenceUnitResponse" name="parameters">
|
||||
</wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updateWeekCalendar">
|
||||
<wsdl:part element="tns:updateWeekCalendar" name="parameters">
|
||||
</wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="updatePersonScheduleResponse">
|
||||
<wsdl:part element="tns:updatePersonScheduleResponse" name="parameters">
|
||||
</wsdl:part>
|
||||
|
@ -1509,6 +1576,26 @@ La capacité est contrôle lors de la lecture des information et en fonction du
|
|||
<wsdl:fault message="tns:MaelisActivityException" name="MaelisActivityException">
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="updateWeekCalendar">
|
||||
<wsdl:documentation>Met à jour le calendrier hebdomadaire d'une personne, par rapport à une activité
|
||||
|
||||
----------------------
|
||||
idActivity : identifiant de l'activité
|
||||
numPerson : Numéro de personne
|
||||
dateStart : date de début d'application
|
||||
dateEnd : date de fin d'application, facultatif, si non fourni date de fin de l'inscription
|
||||
dayWeekInfoList : liste des jours de 1 à 7 du planning hebdomadaire avec la lettre du motif de l'unité de présence
|
||||
|
||||
------------------------------
|
||||
Traitement :
|
||||
La méthode enregistre le nouveau calendrier hebdomadaire et effectue une mise à jour du calendrier annuel calculé à partir du modèle hebdomadaire à partir de la date d'application passée en paramètre jusqu'à la date de fin.</wsdl:documentation>
|
||||
<wsdl:input message="tns:updateWeekCalendar" name="updateWeekCalendar">
|
||||
</wsdl:input>
|
||||
<wsdl:output message="tns:updateWeekCalendarResponse" name="updateWeekCalendarResponse">
|
||||
</wsdl:output>
|
||||
<wsdl:fault message="tns:MaelisActivityException" name="MaelisActivityException">
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="readActivityNatureTypeList">
|
||||
<wsdl:documentation>Méthode de lecture des natures et des types d'activité
|
||||
Cette méthode retourne la liste des natures d'activités avec, pour chaque nature,
|
||||
|
@ -1742,6 +1829,18 @@ Si la capacité est effectuée par jour, il n'y a pas de contrôle du nombre d'i
|
|||
<soap:fault name="MaelisActivityException" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="updateWeekCalendar">
|
||||
<soap:operation soapAction="" style="document"/>
|
||||
<wsdl:input name="updateWeekCalendar">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:input>
|
||||
<wsdl:output name="updateWeekCalendarResponse">
|
||||
<soap:body use="literal"/>
|
||||
</wsdl:output>
|
||||
<wsdl:fault name="MaelisActivityException">
|
||||
<soap:fault name="MaelisActivityException" use="literal"/>
|
||||
</wsdl:fault>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="readActivityNatureTypeList">
|
||||
<soap:operation soapAction="" style="document"/>
|
||||
<wsdl:input name="readActivityNatureTypeList">
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<soap:Body>
|
||||
<ns2:getPersonUnitInfoResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com">
|
||||
<ns2:getPersonUnitInfoResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com" xmlns:ns4="bean.persistence.school.ws.maelis.sigec.com">
|
||||
<getPersonUnitInfoResponseBean>
|
||||
<controlResult>
|
||||
<controlOK>true</controlOK>
|
||||
</controlResult>
|
||||
<personInfo>
|
||||
<idMaelis>S10053182024</idMaelis>
|
||||
<num>246423</num>
|
||||
<lastname>SIMPSON</lastname>
|
||||
<idMaelis>S10055586371</idMaelis>
|
||||
<num>261768</num>
|
||||
<lastname>NICO</lastname>
|
||||
<firstname>BART</firstname>
|
||||
<dateBirth>2014-04-01T00:00:00+02:00</dateBirth>
|
||||
<sexe>M</sexe>
|
||||
</personInfo>
|
||||
<activity>
|
||||
<idActivity>A10053187087</idActivity>
|
||||
<libelle1>Vacances Ete 2023</libelle1>
|
||||
<idActivity>A10049337567</idActivity>
|
||||
<libelle1>SEJOUR CORSE FEV 2023</libelle1>
|
||||
<activityType>
|
||||
<code>LOI_VAC</code>
|
||||
<libelle>Loisirs - Vacances</libelle>
|
||||
<code>EXTVAC</code>
|
||||
<libelle>Vacances</libelle>
|
||||
<natureSpec>
|
||||
<code>V</code>
|
||||
<libelle>Vacances Enfants</libelle>
|
||||
<code>X</code>
|
||||
<libelle>Extrascolaire</libelle>
|
||||
</natureSpec>
|
||||
</activityType>
|
||||
<typInsPortal>I</typInsPortal>
|
||||
<paiementPortal>I</paiementPortal>
|
||||
</activity>
|
||||
<unit>
|
||||
<idUnit>A10049337568</idUnit>
|
||||
<libelle>SEJOUR CORSE FEV 2023</libelle>
|
||||
<dateStart>2023-02-13T00:00:00+01:00</dateStart>
|
||||
<dateEnd>2023-02-24T00:00:00+01:00</dateEnd>
|
||||
</unit>
|
||||
<place>
|
||||
<idPlace>A10049337572</idPlace>
|
||||
<lib1>SEJOUR</lib1>
|
||||
</place>
|
||||
<calendarGeneration>
|
||||
<code>FORBIDDEN</code>
|
||||
<value>I</value>
|
||||
|
@ -54,23 +64,13 @@
|
|||
</dayWeekInfoList>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>6</dayNum>
|
||||
<isOpen>false</isOpen>
|
||||
<isOpen>true</isOpen>
|
||||
</dayWeekInfoList>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>7</dayNum>
|
||||
<isOpen>false</isOpen>
|
||||
<isOpen>true</isOpen>
|
||||
</dayWeekInfoList>
|
||||
</weeklyCalendarActivity>
|
||||
<unit>
|
||||
<idUnit>A10053187241</idUnit>
|
||||
<libelle>Juillet</libelle>
|
||||
<dateStart>2023-07-10T00:00:00+02:00</dateStart>
|
||||
<dateEnd>2023-07-31T00:00:00+02:00</dateEnd>
|
||||
</unit>
|
||||
<place>
|
||||
<idPlace>A10053179604</idPlace>
|
||||
<lib1>ALEX JANY</lib1>
|
||||
</place>
|
||||
<billingInformation/>
|
||||
<action>ADD_SUBSCRIBE</action>
|
||||
</getPersonUnitInfoResponseBean>
|
|
@ -1,41 +1,50 @@
|
|||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<soap:Body>
|
||||
<ns2:getPersonUnitInfoResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com">
|
||||
<ns2:getPersonUnitInfoResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com" xmlns:ns4="bean.persistence.school.ws.maelis.sigec.com">
|
||||
<getPersonUnitInfoResponseBean>
|
||||
<controlResult>
|
||||
<controlOK>true</controlOK>
|
||||
</controlResult>
|
||||
<personInfo>
|
||||
<idMaelis>S10053182024</idMaelis>
|
||||
<num>246423</num>
|
||||
<lastname>SIMPSON</lastname>
|
||||
<idMaelis>S10055586371</idMaelis>
|
||||
<num>261768</num>
|
||||
<lastname>NICO</lastname>
|
||||
<firstname>BART</firstname>
|
||||
<dateBirth>2014-04-01T00:00:00+02:00</dateBirth>
|
||||
<sexe>M</sexe>
|
||||
</personInfo>
|
||||
<activity>
|
||||
<idActivity>A10051141965</idActivity>
|
||||
<libelle1>Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-17h</libelle1>
|
||||
<libelle2>Activité modèle</libelle2>
|
||||
<idActivity>A10055585858</idActivity>
|
||||
<libelle1>ADL ELEMENTAIRE Maourine FEVRIER 22/23</libelle1>
|
||||
<activityType>
|
||||
<code>LOI_ADU</code>
|
||||
<libelle>Loisirs Adultes</libelle>
|
||||
<code>EXTVAC</code>
|
||||
<libelle>Vacances</libelle>
|
||||
<natureSpec>
|
||||
<code>P</code>
|
||||
<libelle>Loisirs</libelle>
|
||||
<code>X</code>
|
||||
<libelle>Extrascolaire</libelle>
|
||||
</natureSpec>
|
||||
</activityType>
|
||||
<typInsPortal>I</typInsPortal>
|
||||
<paiementPortal>I</paiementPortal>
|
||||
</activity>
|
||||
<unit>
|
||||
<idUnit>A10055585860</idUnit>
|
||||
<libelle>ADL ELEMENTAIRE Maourine FEVRIER 22/23</libelle>
|
||||
<dateStart>2023-02-13T00:00:00+01:00</dateStart>
|
||||
<dateEnd>2023-02-24T00:00:00+01:00</dateEnd>
|
||||
</unit>
|
||||
<place>
|
||||
<idPlace>M10053212196</idPlace>
|
||||
<lib1>MAOURINE (la) ELEMENTAIRE</lib1>
|
||||
</place>
|
||||
<calendarGeneration>
|
||||
<code>FORBIDDEN</code>
|
||||
<value>I</value>
|
||||
<code>REQUIRED</code>
|
||||
<value>O</value>
|
||||
</calendarGeneration>
|
||||
<weeklyCalendarActivity>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>1</dayNum>
|
||||
<isOpen>false</isOpen>
|
||||
<isOpen>true</isOpen>
|
||||
</dayWeekInfoList>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>2</dayNum>
|
||||
|
@ -51,7 +60,7 @@
|
|||
</dayWeekInfoList>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>5</dayNum>
|
||||
<isOpen>false</isOpen>
|
||||
<isOpen>true</isOpen>
|
||||
</dayWeekInfoList>
|
||||
<dayWeekInfoList>
|
||||
<dayNum>6</dayNum>
|
||||
|
@ -62,24 +71,24 @@
|
|||
<isOpen>false</isOpen>
|
||||
</dayWeekInfoList>
|
||||
</weeklyCalendarActivity>
|
||||
<openDayList>
|
||||
<day>2023-01-24T00:00:00+01:00</day>
|
||||
<hasPlace>true</hasPlace>
|
||||
</openDayList>
|
||||
<openDayList>
|
||||
<day>2023-01-31T00:00:00+01:00</day>
|
||||
<hasPlace>true</hasPlace>
|
||||
</openDayList>
|
||||
<unit>
|
||||
<idUnit>A10051141990</idUnit>
|
||||
<libelle>Inscription 1er semestre</libelle>
|
||||
<dateStart>2022-09-01T00:00:00+02:00</dateStart>
|
||||
<dateEnd>2023-01-31T00:00:00+01:00</dateEnd>
|
||||
</unit>
|
||||
<place>
|
||||
<idPlace>A10053179226</idPlace>
|
||||
<lib1>Centre Culturel ALBAN MINVILLE</lib1>
|
||||
</place>
|
||||
<unitScheduleList>
|
||||
<unit>
|
||||
<idUnit>A10055586816</idUnit>
|
||||
<libelle>Journée</libelle>
|
||||
<calendarLetter>C</calendarLetter>
|
||||
<dateDeb>2023-02-13T00:00:00+01:00</dateDeb>
|
||||
<dateFin>2023-02-24T00:00:00+01:00</dateFin>
|
||||
</unit>
|
||||
</unitScheduleList>
|
||||
<unitScheduleList>
|
||||
<unit>
|
||||
<idUnit>A10055586815</idUnit>
|
||||
<libelle>Demi-journée</libelle>
|
||||
<calendarLetter>B</calendarLetter>
|
||||
<dateDeb>2023-02-13T00:00:00+01:00</dateDeb>
|
||||
<dateFin>2023-02-24T00:00:00+01:00</dateFin>
|
||||
</unit>
|
||||
</unitScheduleList>
|
||||
<billingInformation/>
|
||||
<action>ADD_SUBSCRIBE</action>
|
||||
</getPersonUnitInfoResponseBean>
|
|
@ -24,6 +24,7 @@ import responses
|
|||
from django.utils.dateparse import parse_date
|
||||
from requests.exceptions import ConnectionError
|
||||
from zeep import Settings
|
||||
from zeep.helpers import serialize_object
|
||||
|
||||
from passerelle.contrib.toulouse_maelis.models import Link, Referential, ToulouseMaelis
|
||||
from passerelle.contrib.toulouse_maelis.utils import get_public_criterias, json_date_format
|
||||
|
@ -5610,10 +5611,10 @@ def test_read_ape_indicator_list(con, app):
|
|||
assert 'text' in item
|
||||
|
||||
|
||||
def test_get_person_subscription_info_extra_scolaire(activity_service, con, app):
|
||||
def test_get_person_subscription_info(activity_service, con, app):
|
||||
activity_service.add_soap_response(
|
||||
'getPersonUnitInfo',
|
||||
get_xml_file('R_get_person_unit_info_extra_scolaire.xml'),
|
||||
get_xml_file('R_get_person_unit_info.xml'),
|
||||
)
|
||||
url = get_endpoint('get-person-subscription-info')
|
||||
|
||||
|
@ -5637,49 +5638,36 @@ def test_get_person_subscription_info_extra_scolaire(activity_service, con, app)
|
|||
assert resp.json['data'] == {
|
||||
'controlResult': {'controlOK': True, 'message': None},
|
||||
'personInfo': {
|
||||
'idMaelis': 'S10053182024',
|
||||
'num': 246423,
|
||||
'lastname': 'SIMPSON',
|
||||
'idMaelis': 'S10055586371',
|
||||
'num': 261768,
|
||||
'lastname': 'NICO',
|
||||
'firstname': 'BART',
|
||||
'dateBirth': '2014-04-01T00:00:00+02:00',
|
||||
'sexe': 'M',
|
||||
},
|
||||
'activity': {
|
||||
'idActivity': 'A10053187087',
|
||||
'libelle1': 'Vacances Ete 2023',
|
||||
'idActivity': 'A10049337567',
|
||||
'libelle1': 'SEJOUR CORSE FEV 2023',
|
||||
'libelle2': None,
|
||||
'activityType': {
|
||||
'code': 'LOI_VAC',
|
||||
'libelle': 'Loisirs - Vacances',
|
||||
'natureSpec': {'code': 'V', 'libelle': 'Vacances Enfants'},
|
||||
'code': 'EXTVAC',
|
||||
'libelle': 'Vacances',
|
||||
'natureSpec': {'code': 'X', 'libelle': 'Extrascolaire'},
|
||||
},
|
||||
'typInsPortal': 'I',
|
||||
'paiementPortal': 'I',
|
||||
},
|
||||
'calendarGeneration': {'code': 'FORBIDDEN', 'value': 'I'},
|
||||
'weeklyCalendarActivity': {
|
||||
'dayWeekInfoList': [
|
||||
{'dayNum': 1, 'isOpen': True},
|
||||
{'dayNum': 2, 'isOpen': True},
|
||||
{'dayNum': 3, 'isOpen': True},
|
||||
{'dayNum': 4, 'isOpen': True},
|
||||
{'dayNum': 5, 'isOpen': True},
|
||||
{'dayNum': 6, 'isOpen': False},
|
||||
{'dayNum': 7, 'isOpen': False},
|
||||
]
|
||||
},
|
||||
'openDayList': [],
|
||||
'unit': {
|
||||
'idUnit': 'A10053187241',
|
||||
'libelle': 'Juillet',
|
||||
'dateStart': '2023-07-10T00:00:00+02:00',
|
||||
'dateEnd': '2023-07-31T00:00:00+02:00',
|
||||
'idUnit': 'A10049337568',
|
||||
'libelle': 'SEJOUR CORSE FEV 2023',
|
||||
'dateStart': '2023-02-13T00:00:00+01:00',
|
||||
'dateEnd': '2023-02-24T00:00:00+01:00',
|
||||
'placeInfoList': [],
|
||||
'idIns': None,
|
||||
},
|
||||
'place': {
|
||||
'idPlace': 'A10053179604',
|
||||
'lib1': 'ALEX JANY',
|
||||
'idPlace': 'A10049337572',
|
||||
'lib1': 'SEJOUR',
|
||||
'lib2': None,
|
||||
'idIns': None,
|
||||
'etatIns': None,
|
||||
|
@ -5690,9 +5678,24 @@ def test_get_person_subscription_info_extra_scolaire(activity_service, con, app)
|
|||
'longitude': None,
|
||||
'latitude': None,
|
||||
},
|
||||
'calendarGeneration': {'code': 'FORBIDDEN', 'value': 'I'},
|
||||
'weeklyCalendarActivity': {
|
||||
'dayWeekInfoList': [
|
||||
{'dayNum': 1, 'isOpen': True},
|
||||
{'dayNum': 2, 'isOpen': True},
|
||||
{'dayNum': 3, 'isOpen': True},
|
||||
{'dayNum': 4, 'isOpen': True},
|
||||
{'dayNum': 5, 'isOpen': True},
|
||||
{'dayNum': 6, 'isOpen': True},
|
||||
{'dayNum': 7, 'isOpen': True},
|
||||
]
|
||||
},
|
||||
'openDayList': [],
|
||||
'unitScheduleList': [],
|
||||
'billingInformation': None,
|
||||
'action': 'ADD_SUBSCRIBE',
|
||||
'indicatorList': [],
|
||||
'recurrent_week': [],
|
||||
}
|
||||
|
||||
# no date provided
|
||||
|
@ -5706,10 +5709,10 @@ def test_get_person_subscription_info_extra_scolaire(activity_service, con, app)
|
|||
assert resp.json['err'] == 0
|
||||
|
||||
|
||||
def test_get_person_subscription_info_loisir(activity_service, con, app):
|
||||
def test_get_person_subscription_info_with_recurrent_week(activity_service, con, app):
|
||||
activity_service.add_soap_response(
|
||||
'getPersonUnitInfo',
|
||||
get_xml_file('R_get_person_unit_info_loisir.xml'),
|
||||
get_xml_file('R_get_person_unit_info_with_recurrent_week.xml'),
|
||||
)
|
||||
url = get_endpoint('get-person-subscription-info')
|
||||
|
||||
|
@ -5733,52 +5736,36 @@ def test_get_person_subscription_info_loisir(activity_service, con, app):
|
|||
assert resp.json['data'] == {
|
||||
'controlResult': {'controlOK': True, 'message': None},
|
||||
'personInfo': {
|
||||
'idMaelis': 'S10053182024',
|
||||
'num': 246423,
|
||||
'lastname': 'SIMPSON',
|
||||
'idMaelis': 'S10055586371',
|
||||
'num': 261768,
|
||||
'lastname': 'NICO',
|
||||
'firstname': 'BART',
|
||||
'dateBirth': '2014-04-01T00:00:00+02:00',
|
||||
'sexe': 'M',
|
||||
},
|
||||
'activity': {
|
||||
'idActivity': 'A10051141965',
|
||||
'libelle1': 'Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-17h',
|
||||
'libelle2': 'Activité modèle',
|
||||
'idActivity': 'A10055585858',
|
||||
'libelle1': 'ADL ELEMENTAIRE Maourine FEVRIER 22/23',
|
||||
'libelle2': None,
|
||||
'activityType': {
|
||||
'code': 'LOI_ADU',
|
||||
'libelle': 'Loisirs Adultes',
|
||||
'natureSpec': {'code': 'P', 'libelle': 'Loisirs'},
|
||||
'code': 'EXTVAC',
|
||||
'libelle': 'Vacances',
|
||||
'natureSpec': {'code': 'X', 'libelle': 'Extrascolaire'},
|
||||
},
|
||||
'typInsPortal': 'I',
|
||||
'paiementPortal': 'I',
|
||||
},
|
||||
'calendarGeneration': {'code': 'FORBIDDEN', 'value': 'I'},
|
||||
'weeklyCalendarActivity': {
|
||||
'dayWeekInfoList': [
|
||||
{'dayNum': 1, 'isOpen': False},
|
||||
{'dayNum': 2, 'isOpen': True},
|
||||
{'dayNum': 3, 'isOpen': True},
|
||||
{'dayNum': 4, 'isOpen': True},
|
||||
{'dayNum': 5, 'isOpen': False},
|
||||
{'dayNum': 6, 'isOpen': False},
|
||||
{'dayNum': 7, 'isOpen': False},
|
||||
]
|
||||
},
|
||||
'openDayList': [
|
||||
{'day': '2023-01-24T00:00:00+01:00', 'hasPlace': True},
|
||||
{'day': '2023-01-31T00:00:00+01:00', 'hasPlace': True},
|
||||
],
|
||||
'unit': {
|
||||
'idUnit': 'A10051141990',
|
||||
'libelle': 'Inscription 1er semestre',
|
||||
'dateStart': '2022-09-01T00:00:00+02:00',
|
||||
'dateEnd': '2023-01-31T00:00:00+01:00',
|
||||
'idUnit': 'A10055585860',
|
||||
'libelle': 'ADL ELEMENTAIRE Maourine FEVRIER 22/23',
|
||||
'dateStart': '2023-02-13T00:00:00+01:00',
|
||||
'dateEnd': '2023-02-24T00:00:00+01:00',
|
||||
'placeInfoList': [],
|
||||
'idIns': None,
|
||||
},
|
||||
'place': {
|
||||
'idPlace': 'A10053179226',
|
||||
'lib1': 'Centre Culturel ALBAN MINVILLE',
|
||||
'idPlace': 'M10053212196',
|
||||
'lib1': 'MAOURINE (la) ELEMENTAIRE',
|
||||
'lib2': None,
|
||||
'idIns': None,
|
||||
'etatIns': None,
|
||||
|
@ -5789,9 +5776,100 @@ def test_get_person_subscription_info_loisir(activity_service, con, app):
|
|||
'longitude': None,
|
||||
'latitude': None,
|
||||
},
|
||||
'calendarGeneration': {'code': 'REQUIRED', 'value': 'O'},
|
||||
'weeklyCalendarActivity': {
|
||||
'dayWeekInfoList': [
|
||||
{'dayNum': 1, 'isOpen': True},
|
||||
{'dayNum': 2, 'isOpen': True},
|
||||
{'dayNum': 3, 'isOpen': True},
|
||||
{'dayNum': 4, 'isOpen': True},
|
||||
{'dayNum': 5, 'isOpen': True},
|
||||
{'dayNum': 6, 'isOpen': False},
|
||||
{'dayNum': 7, 'isOpen': False},
|
||||
]
|
||||
},
|
||||
'openDayList': [],
|
||||
'unitScheduleList': [
|
||||
{
|
||||
'unit': {
|
||||
'idActivity': None,
|
||||
'idUnit': 'A10055586816',
|
||||
'libelle': 'Journée',
|
||||
'calendarLetter': 'C',
|
||||
'dateDeb': '2023-02-13T00:00:00+01:00',
|
||||
'dateFin': '2023-02-24T00:00:00+01:00',
|
||||
},
|
||||
'dayInfoList': [],
|
||||
},
|
||||
{
|
||||
'unit': {
|
||||
'idActivity': None,
|
||||
'idUnit': 'A10055586815',
|
||||
'libelle': 'Demi-journée',
|
||||
'calendarLetter': 'B',
|
||||
'dateDeb': '2023-02-13T00:00:00+01:00',
|
||||
'dateFin': '2023-02-24T00:00:00+01:00',
|
||||
},
|
||||
'dayInfoList': [],
|
||||
},
|
||||
],
|
||||
'billingInformation': None,
|
||||
'action': 'ADD_SUBSCRIBE',
|
||||
'indicatorList': [],
|
||||
'recurrent_week': [
|
||||
{'id': '1-C', 'day': 'Lundi', 'label': 'Journée', 'overlaps': ['1-B'], 'text': 'Lundi Journée'},
|
||||
{
|
||||
'id': '1-B',
|
||||
'day': 'Lundi',
|
||||
'label': 'Demi-journée',
|
||||
'overlaps': ['1-C'],
|
||||
'text': 'Lundi Demi-journée',
|
||||
},
|
||||
{'id': '2-C', 'day': 'Mardi', 'label': 'Journée', 'overlaps': ['2-B'], 'text': 'Mardi Journée'},
|
||||
{
|
||||
'id': '2-B',
|
||||
'day': 'Mardi',
|
||||
'label': 'Demi-journée',
|
||||
'overlaps': ['2-C'],
|
||||
'text': 'Mardi Demi-journée',
|
||||
},
|
||||
{
|
||||
'id': '3-C',
|
||||
'day': 'Mercredi',
|
||||
'label': 'Journée',
|
||||
'overlaps': ['3-B'],
|
||||
'text': 'Mercredi Journée',
|
||||
},
|
||||
{
|
||||
'id': '3-B',
|
||||
'day': 'Mercredi',
|
||||
'label': 'Demi-journée',
|
||||
'overlaps': ['3-C'],
|
||||
'text': 'Mercredi Demi-journée',
|
||||
},
|
||||
{'id': '4-C', 'day': 'Jeudi', 'label': 'Journée', 'overlaps': ['4-B'], 'text': 'Jeudi Journée'},
|
||||
{
|
||||
'id': '4-B',
|
||||
'day': 'Jeudi',
|
||||
'label': 'Demi-journée',
|
||||
'overlaps': ['4-C'],
|
||||
'text': 'Jeudi Demi-journée',
|
||||
},
|
||||
{
|
||||
'id': '5-C',
|
||||
'day': 'Vendredi',
|
||||
'label': 'Journée',
|
||||
'overlaps': ['5-B'],
|
||||
'text': 'Vendredi Journée',
|
||||
},
|
||||
{
|
||||
'id': '5-B',
|
||||
'day': 'Vendredi',
|
||||
'label': 'Demi-journée',
|
||||
'overlaps': ['5-C'],
|
||||
'text': 'Vendredi Demi-journée',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
# no date provided
|
||||
|
@ -5823,71 +5901,9 @@ def test_get_person_subscription_info_error(activity_service, con, app):
|
|||
}
|
||||
resp = app.get(url, params=params)
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == {
|
||||
'controlResult': {
|
||||
'controlOK': False,
|
||||
'message': 'E1019 : Il existe déjà une inscription à cette unité',
|
||||
},
|
||||
'personInfo': {
|
||||
'idMaelis': 'S10053182024',
|
||||
'num': 246423,
|
||||
'lastname': 'SIMPSON',
|
||||
'firstname': 'BART',
|
||||
'dateBirth': '2014-04-01T00:00:00+02:00',
|
||||
'sexe': 'M',
|
||||
},
|
||||
'activity': {
|
||||
'idActivity': 'A10051141965',
|
||||
'libelle1': 'Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-17h',
|
||||
'libelle2': 'Activité modèle',
|
||||
'activityType': {
|
||||
'code': 'LOI_ADU',
|
||||
'libelle': 'Loisirs Adultes',
|
||||
'natureSpec': {'code': 'P', 'libelle': 'Loisirs'},
|
||||
},
|
||||
'typInsPortal': 'I',
|
||||
'paiementPortal': 'I',
|
||||
},
|
||||
'calendarGeneration': {'code': 'FORBIDDEN', 'value': 'I'},
|
||||
'weeklyCalendarActivity': {
|
||||
'dayWeekInfoList': [
|
||||
{'dayNum': 1, 'isOpen': False},
|
||||
{'dayNum': 2, 'isOpen': True},
|
||||
{'dayNum': 3, 'isOpen': True},
|
||||
{'dayNum': 4, 'isOpen': True},
|
||||
{'dayNum': 5, 'isOpen': False},
|
||||
{'dayNum': 6, 'isOpen': False},
|
||||
{'dayNum': 7, 'isOpen': False},
|
||||
]
|
||||
},
|
||||
'openDayList': [
|
||||
{'day': '2023-01-24T00:00:00+01:00', 'hasPlace': True},
|
||||
{'day': '2023-01-31T00:00:00+01:00', 'hasPlace': True},
|
||||
],
|
||||
'unit': {
|
||||
'idUnit': 'A10051141990',
|
||||
'libelle': 'Inscription 1er semestre',
|
||||
'dateStart': '2022-09-01T00:00:00+02:00',
|
||||
'dateEnd': '2023-01-31T00:00:00+01:00',
|
||||
'placeInfoList': [],
|
||||
'idIns': None,
|
||||
},
|
||||
'place': {
|
||||
'idPlace': 'A10053179226',
|
||||
'lib1': 'Centre Culturel ALBAN MINVILLE',
|
||||
'lib2': None,
|
||||
'idIns': None,
|
||||
'etatIns': None,
|
||||
'ageStart': None,
|
||||
'ageEnd': None,
|
||||
'ctrlPlaces': None,
|
||||
'listBlocNoteBean': [],
|
||||
'longitude': None,
|
||||
'latitude': None,
|
||||
},
|
||||
'billingInformation': None,
|
||||
'action': 'ADD_SUBSCRIBE',
|
||||
'indicatorList': [],
|
||||
assert resp.json['data']['controlResult'] == {
|
||||
'controlOK': False,
|
||||
'message': 'E1019 : Il existe déjà une inscription à cette unité',
|
||||
}
|
||||
|
||||
|
||||
|
@ -5995,6 +6011,37 @@ def test_add_person_basket_subscription(activity_service, con, app):
|
|||
}
|
||||
|
||||
|
||||
def test_add_person_basket_subscription_with_recurrent_week(activity_service, con, app):
|
||||
def request_check(request):
|
||||
assert serialize_object(request.dayWeekInfoList) == [
|
||||
{'dayNum': 1, 'isPresent': True, 'isOpen': None, 'calendarLetter': 'B'},
|
||||
{'dayNum': 2, 'isPresent': True, 'isOpen': None, 'calendarLetter': 'C'},
|
||||
]
|
||||
|
||||
activity_service.add_soap_response(
|
||||
'addPersonUnitBasket',
|
||||
get_xml_file('R_add_person_unit_basket.xml'),
|
||||
request_check=request_check,
|
||||
)
|
||||
url = get_endpoint('add-person-basket-subscription')
|
||||
|
||||
params = {
|
||||
'person_id': '246423',
|
||||
'activity_id': 'A10051141965',
|
||||
'unit_id': 'A10051141990',
|
||||
'place_id': 'A10053179226',
|
||||
'start_date': '2022-09-01',
|
||||
'end_date': '2023-08-31',
|
||||
'recurrent_week': ['1-B', '2-C'],
|
||||
}
|
||||
resp = app.post_json(url + '?family_id=311323', params=params)
|
||||
assert resp.json['err'] == 0
|
||||
Link.objects.create(resource=con, family_id='311323', name_id='local')
|
||||
|
||||
resp = app.post_json(url + '?NameID=local', params=params)
|
||||
assert resp.json['err'] == 0
|
||||
|
||||
|
||||
def test_add_person_basket_subscription_error(activity_service, con, app):
|
||||
activity_service.add_soap_response(
|
||||
'addPersonUnitBasket',
|
||||
|
|
Loading…
Reference in New Issue