... | ... | @@ -185,17 +185,25 @@ Attention, 3 noms sont réservés : `selected_bus_pk`, `selected_bus_name` et `v |
|
|
|
|
|
À noter que l'interface de validation des inscriptions affiche les données brutes du sondage.
|
|
|
|
|
|
##### WEIBusInformation
|
|
|
|
|
|
Une classe héritant de `wei.forms.surveys.base.WEIBusInformation`, qui contient les informations sur un bus, de la même manière que `WEISurveyInformation` contient les informations d'un sondage. Le fonctionnement est le même : on récupère le champ `information_json` du modèle `Bus` qu'on convertit en dictionnaire puis en objet Python. Cet objet est en lecture uniquement, on modifie à la main les paramètres d'un bus.
|
|
|
|
|
|
Le champ `bus` est fourni.
|
|
|
|
|
|
##### WEISurveyAlgorithm
|
|
|
|
|
|
Une classe héritant de `wei.forms.surveys.base.WEISurveyAlgorithm`, qui contient 2 fonctions :
|
|
|
Une classe héritant de `wei.forms.surveys.base.WEISurveyAlgorithm`, qui contient 3 fonctions :
|
|
|
|
|
|
* `get_survey_class(cls)`, qui renvoie la classe du `WEISurvey` associée à l'algorithme.
|
|
|
* `get_bus_information_class(cls)` qui renvoie la classe du `WEIBusInformation` décrivant les informations d'
|
|
|
* `run_algorithm(self)`, la fonction importante. Cette fonction n'est supposée n'être exécutée qu'une seule fois par WEI, et a pour cahier des charges de prendre chaque sondage d'un 1A et d'appeler la fonction `WEISurvey.select_bus(bus)`, en décidant convenablement de quel bus le membre doit prendre. C'est bien sûr la fonction la plus complexe à mettre en oeuvre. Tout est permis tant qu'à la fin tout le monde a bien son bus.
|
|
|
|
|
|
Deux fonctions sont implémentées nativement :
|
|
|
Trois fonctions sont implémentées nativement :
|
|
|
|
|
|
* `get_registrations(cls)`, renvoie un `QuerySSet` vers l'ensemble des inscriptions au WEI concerné des 1A.
|
|
|
* `get_buses(cls)`, renvoie l'ensemble des bus du WEI concerné.
|
|
|
* `get_bus_information(cls, bus)`, renvoie l'objet `WEIBusInformation` instancié avec les informations fournies par le champ `information_json` de `bus`.
|
|
|
|
|
|
|
|
|
La dernière chose à faire est dans le fichier `apps/wei/forms/surveys/__init__.py`, où la classe `CurrentSurvey` est à mettre à jour. Il n'y a rien d'autre à changer, tout le reste est normalement géré pour qu'il n'y ait pas nécessité d'y toucher.
|
... | ... | |