aboutsummaryrefslogtreecommitdiff
path: root/models.py
AgeCommit message (Collapse)Author
2019-08-30models: remplacement de RENCONTRE par rencontre dans le type d’un coursAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30models & admin: ajout des champs nécessaires pour le parseur UPS2019Alban Gruin
Le nouveau format utilisé requiert d’effectuer des requêtes POST et non plus GET, une URL n’est donc plus suffisante pour indiquer la source. Un champ `metadata' est rajouté, contenant une métadonnée au format texte. Il serait plus judicieux d’utiliser un champ JSONField, mais ce type est restreint à PostgreSQL (mon environnement de développement utilise toujours SQLite). Les ID des cours dans celcat ne sont plus de simples nombres mais des chaînes de caractères. Ce changement est donc reflété dans le modèle des cours. Dans le nouveau format, si un cours a plus de 3 groupes, seul les 3 premiers groupes sont listés, les autres sont marqués avec un texte du genre « 2 autres… ». (Ça fait 2 ans et demi que je travaille sur ce projet, et plus le temps passe, plus j’ai l’impression que la drogue est un outil de travail comme un autre chez celcat.) Le champ `buggy' est rajouté pour indiquer si c’est le cas de ce cours ou non, ce qui permettra d’ajouter une remarque sur les pages ouèbe ou les ICS. Les interfaces d’administration sont modifiées pour intégrer ces changements. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08UPS2018: récupération du module (UE) correspondant à un coursAlban Gruin
Il peut être intéressant de lister les cours par module (UE). Une table est donc rajoutée pour stocker cette information et permettre d’effectuer des recherches et des tris. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08UPS2018: ajout du champ celcat_idAlban Gruin
Les cours dans celcat ont un champ id. Ce changement permet de le stocker dans la base de données (sous la forme d’un entier) et de l’afficher dans l’interface d’administration. Pour l’instant, on ne sait pas si cette valeur est unique ou non. Il n’y a donc pas de contraintes sur ce champ pour le moment. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-06models: augmentation de la limite de taille de cours à 511 caractèresAlban Gruin
Certains cours ont des noms trop long pour entrer dans la limite de 255 caractères. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-04-15Légères corrections PEP8Alban Gruin
2018-04-15Merge branch 'fusion/alban' into qsjpsAlban Gruin
2018-02-10Plus d’appel à iterator()Alban Gruin
2018-01-28Changements dans le formatage du code pour le rendre plus lisibleAlban Gruin
2018-01-27Petit oubliAlban Gruin
2018-01-27Préchargement des salles et des groupes des cours lorsqu’on liste lesAlban Gruin
cours d’une salle pour économiser les requêtes et augmenter les performances
2018-01-27Remplacement de la requête de QSJPS par une autre, plus simple et plusAlban Gruin
rapide à exécuter sur de gros volumes de données. On aura peut-être besoin d’utiliser un double index pour augmenter encore plus les performances. La requête liste tous les cours commençant avant la fin de l’intervalle et finissant après le début de l’intervalle, en excluant les cours n’ayant pas de salle assignée. On récupère ensuite la liste des salles de ces cours, et on inverse le contenu de la liste. On trie ensuite les cours par leur nom.
2018-01-27Requête de QSJPSAlban Gruin
Pour chaque salle, on compte tous les cours commençant avant la fin de l’intervalle entré par l’utilisateur et finissant après le début de cet intervalle. Tous les cours correspondant à cette requête se trouvent au moins en partie sur l’intervalle. On sélectionne ensuite les salles n’ayant pas de cours correspondant à la requête précédente.
2018-01-27Création des tests de la requête de QSJPSAlban Gruin
On y créée sept salles, avec différents agencements de cours : 0. Le cours se finit dans l’intervalle sélectionné 1. Le cours se commence dans l’intervalle 2. Combinaison de 0. et de 1. 3. Le cours commence avant et fini après l’intervalle 4. Le cours commence et fini pendant l’intervalle 5. Un cours se finit avant et un autre commence après 6. Aucun cours liste des salles. Normalement, seules les salles des cas cinq et six doivent se retrouver dans la liste des salles.
2018-01-27SlugModel.save() transfère tous les arguments reçus à Model.save()Alban Gruin
2018-01-27PEP8Alban Gruin
2018-01-21Légère optimisation de la page des groupesAlban Gruin
2018-01-20On cache les groupes qui n’ont plus de coursAlban Gruin
La requête est assez longue à s’effectuer sur SQLite, mais pas sur PostgreSQL
2018-01-19N’affiche plus la liste des groupes dans l’emploi du temps des sallesAlban Gruin
si un cours n’en a pas, au lieu de se baser sur le nombre de salles d’un cours pour faire ce choix. Suppression du préchargement des salles lorsqu’on demande les cours d’une salle. Cela permet de réduire le nombre de requêtes effectuées.
2018-01-19Préchargement des groupes et des salles lorsqu’on demande la liste desAlban Gruin
salles. Réduit le nombre de requêtes à effectuer ainsi que le temps de traitement.
2018-01-18Mise à jour des copyrightsAlban Gruin
2018-01-18get_courses() émet une exception si l’objet passé n’est ni un groupeAlban Gruin
ni une salle
2018-01-16Utilisation des valeurs par défaut de reduce()Alban Gruin
2017-11-27Fonction pour formater les emplois du temps à partir d’une sourceAlban Gruin
2017-11-27Ajout d’un gestionnaire pour Timetable récupérant automatiquement lesAlban Gruin
années Réduit considérablement le nombre d’appels effectués dans l’interface d’administration
2017-11-27Remplacement des références aux champs timetable vers sourceAlban Gruin
2017-11-27Changement des champs timetable en source pour plus de claretéAlban Gruin
2017-11-27Relation source inverseAlban Gruin
2017-11-27Renommage de Timetable en Source et de TimetableFront en Timetable.Alban Gruin
C’est à partir de ce commit que la migration fournie sur la ML est utilisable.
2017-11-27Séparation en deux modèles des emplois du temps : un pour l’affichage,Alban Gruin
l’autre pour les sources
2017-11-27À QUOI ÇA SERT DE FAIRE DES SUPERS MODÈLES ABSTRAITS SI ON S’EN SERTAlban Gruin
PAS APRÈS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2017-11-27Mise en commun du traitement des données avant rendu de l’emploi du tempsAlban Gruin
2017-11-27Ajout d’un champ slug au modèle des sallesAlban Gruin
2017-11-26Suppression des imports inutilesAlban Gruin
2017-11-26Récupération du semestre pour générer la liste des groupes.Alban Gruin
2017-11-26Suppression des commentaires inutilesAlban Gruin
2017-11-26Correction d’un cas pouvant provoquer une erreur de parsage deAlban Gruin
groupe (si jamais il n’y a pas de semestre), renvoi du numéro de semestre dans group_info, adaptation de corresponds_to.
2017-11-26Ajout d’un nouveau champ de groupe : le semestreAlban Gruin
2017-11-26Optimisation de deux requêtes :Alban Gruin
– sélection des cours d’un groupe : préchargement des salles – sélection des emplois du temps d’une année : préchargement de l’année
2017-11-25Dans get_weeks(), l’annotation Count() ne sert à rien.Alban Gruin
2017-11-25On ne compare plus les id des emplois du temps dans corresponds_to()Alban Gruin
car dans le seul appel « utile », les arguments passés font forcément partie du même edt. Changement effectué pour des questions de performance. Correction des tests.
2017-11-25Un groupe parent ne correspond plus à un groupe enfantAlban Gruin
Modification des tests
2017-11-25Suppression de get_relevant_groupsAlban Gruin
2017-11-25Ne sélectionne plus les sous-groupesAlban Gruin
2017-11-24Correction d’un crash lorsqu’un groupe a des enfants ayant une mention ↵Alban Gruin
différente. L’annotation Count() renvoie plusieurs valeurs différentes, alors que Subquery n’en accepte qu’une seule. Corrigé en rajoutant une valeur statique (0) par annotation et en regroupant en se basant sur cette valeur.
2017-11-24Ajout de nouveaux tests pour ces nouveaux casAlban Gruin
2017-11-24Correction d’un bogue qui empêchait l’affichage des groupes si deuxAlban Gruin
groupes ont le même nom mais pas le même semestre.
2017-11-16Mettre une valeur de dernière mise à jour dans l’interfaceAlban Gruin
d’administration n’est plus obligatoire.
2017-11-16Revert "Par défaut, la date de dernière mise à jour des emplois du temps est"Alban Gruin
This reverts commit 0c2937bab77280beaabe7d53a77c848848845950.
2017-11-16Correction d’une erreur de parenthésage dans get_parents()Alban Gruin
Le + 1 doit venir _après_ len(), pas pendant…