Projet

Général

Profil

Bug #37393

passage à l'heure d'été

Ajouté par Nicolas Roche il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
31 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Il y a un décalage dans l'affichage de la vue mensuelle,
lié au fait que le calcul des créneaux ne tient pas compte du fuseau horaire de la variable sur laquelle on boucle.


Fichiers

Révisions associées

Révision befaa3b3 (diff)
Ajouté par Frédéric Péters il y a plus de 4 ans

manager: fix alignments of opening hours in months with dst change (#37393)

Historique

#1

Mis à jour par Nicolas Roche il y a plus de 4 ans

  • Assigné à mis à Nicolas Roche
#4

Mis à jour par Nicolas Roche il y a plus de 4 ans

J'ai essayé de mettre en évidence dans le test que quand on boucle,
current_date reste en CET (UTC+1) au moment du changement d'heure, alors que les dates d'ouvertures des bureaux passent en CEST (UTC+2).
Le décalage visuel vient du fait que l'on utilise la différence de ces 2 dates pour déterminer les attributs CSS top et height des classes opening-hours.

#5

Mis à jour par Frédéric Péters il y a plus de 4 ans

Je ne comprends pas l'approche; j'ai regardé et ce que je vois de la vue mensuelle, c'est au final une série d'appels à get_day_timetable_infos() et que le paramètre "day" qui y est passé est un datetime dont la timezone correspond à celle du premier jour du mois, alors que ça devrait être la timezone du jour en question.

De cette analyse ma proposition serait simplement d'assurer dans get_day_timetable_infos() que le jour traité soit dans la timezone qui lui correspnd.

#6

Mis à jour par Nicolas Roche il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée
  • Assigné à changé de Nicolas Roche à Frédéric Péters

Oui, c'est bien mieux dans ce sens là.
J'ai pris le problème à l'envers parce que je ne savais pas comment opérer sur la date itérée :

        day = make_aware(make_naive(day))  # give day correct timezone

Merci aussi pour avoir traité l'alignement des réservations dans ton test (j'étais passé à côté).
J'ai vérifié sur un calendrier importé via #36111 et ça corrige bien l'alignement des heures d'ouvertures au printemps.
Je valide ton patch (si tu veux bien prendre la main).

#7

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit befaa3b3651aff6730ae4fece42b74bc958c8187
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Nov 1 10:31:58 2019 +0100

    manager: fix alignments of opening hours in months with dst change (#37393)
#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF