Development #75331
API datetimes: les créneaux ne sont plus triés par date
Début:
10 mars 2023
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
constaté sur un agenda de type events dans #75320
Un appel de type /api/agenda/<slug>/datetimes/ renvoie les créneaux dans un ordre aléatoire (pk ? apparition dans la DB ?)
L'ordering pas défaut défini sur la classe Event n'est pas appliqué:
class Meta: ordering = ['agenda', 'start_datetime', 'duration', 'label']
Le code:
entries = Event.objects.none() [...] entries |= agenda.get_open_events( # <- ici on a bien un tri min_start=payload.get('date_start'), max_start=payload.get('date_end'), bypass_delays=payload.get('bypass_delays'), ) entries = Event.annotate_queryset_for_user(entries, user_external_id) # <- ici plus de tri
Intuitivement, j'ai envie d'accuser le passage à django 3.2, et un changement de comportement lorsqu'on a un annotate sur une concaténation de querysets.
Historique
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Nouveau à Solution proposée
Lauréline Guérin (lguerin) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/chrono/pulls/49
- Titre : api: sort events by date in datetimes endpoint (#75331)
- Modifications : https://git.entrouvert.org/entrouvert/chrono/pulls/49/files
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Solution proposée à Solution validée
Corentin Sechet (csechet) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Solution validée à Résolu (à déployer)
Lauréline Guérin (lguerin) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/chrono/pulls/49
- Titre : api: sort events by date in datetimes endpoint (#75331)
- Modifications : https://git.entrouvert.org/entrouvert/chrono/pulls/49/files
Mis à jour par Transition automatique il y a environ un an
- Statut changé de Résolu (à déployer) à Solution déployée