Time_zone et exportation
#1
Au moment de l'exportation des données d'une liste — par exemple «Liste des activités » — en CSV, j'ai un problème avec les dates et heures. Elles ont toutes une heure de décalage (en moins) par rapport à l'heure saisie manuellement.

Je pense que cela provient du réglage de TIME_ZONE dans settings.py car dans la base, les heures sont bien comme dans le fichier CSV.

Pour le moment, je triche en mettant 'Europe/London' en paramètre mais ce n'est pas satisfaisant car pour le coup, ce sont les dates de création et de modification qui ne sont plus correctes. Cependant, cela me gêne moins.

J'ai regardé dans /creme_core/views/list_view_export.py mais j'ai peur de casser le code. Y a-t-il un moyen de changer cela de manière plus propre ?
  Répondre
#2
L'heure stockée en base est l'heure UTC. Quand l'utilisateur saisie une date/heure, le serveur prend en compte de la timezone de cet utilisateur (qui est de base celle de settings.py, mais dans 'Ma configuration' chaque utilisateur peut en régler son fuseau horaire) afin de la convertir correctement pour la stocker. À l'inverse on utilise sa timezone pour afficher l'heure de manière agréable à l'utilisateur dans les pages de Creme (detailview, listview...), en la convertissant pour la remettre dans sa timezone.

Et en effet dans le CSV généré, l'heure est écrite sous sa forme UTC (ex: 2013-12-18 15:46:00+00:00). L'heure est donc exacte, mais elle n'est pas affichée de manière la plus agréable (ex: 2013-12-18 16:46). Je verrai avec mes collègues à la rentrée si on considère ça comme un bug ou juste une non feature, et ce qu'on décide derrière (corriger la 1.3, la 1.4 uniquement etc...). Je posterai dans ce thread la réponse de toutes les façons.

Si vous voulez tentez rapidement une correction, ça sera en effet dans /creme_core/views/list_view_export.py, sachant qu'il y a des tests unitaires qui couvrent ce code (ce qui est vrai en général pour 90% du code).
  Répondre
#3
Nous avons décidé qu'il ne s'agissait pas d'un bug à proprement parler, donc il n'y aura pas de correctif pour la version 1.3. En revanche afficher l'heure dans la timezone de l'utilisateur courant est sûrement le comportement le plus agréable pour la plupart des gens ; aussi j'ai fait un commit (https://bitbucket.org/hybird/creme_crm/c...c7a2b9a5e9 ) qui corrige entre autre ce problème sur la version de développement, et qui donc sera dans la version 1.4.
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)