L’édition d’un sondage décale automatiquement les créneaux proposés
Problème
Lors de l’édition d’un sondage, les dates sont interprétées dans le fuseau horaire du navigateur, UTC dans mes exemple, sans prendre en compte le Fuseau horaire de référence
:
Définir les créneaux proposés au sondage, on note que l’heure courante est dans le fuseau horaire du navigateur et non celui de référence
Édition des créneaux proposés au sondage, on note que les créneaux sont décalés de deux heures plus tôt
Validation du sondage, on note que le fuseau horaire de référence est le bon mais les créneaux sont décalés de deux heures plus tôt
Pour information, voici les données mongoDB du sondage à différentes étapes :
Le sondage vient d’être créé
Le sondage : db.polls.find({_id: 'tb5WzKban6WGCJnTQ'})
[
{
_id: 'tb5WzKban6WGCJnTQ',
dates: [
ISODate('2024-09-04T08:00:00.000Z'),
ISODate('2024-09-04T12:00:00.000Z'),
ISODate('2024-09-05T08:00:00.000Z'),
ISODate('2024-09-05T12:00:00.000Z'),
ISODate('2024-09-06T08:00:00.000Z'),
ISODate('2024-09-06T12:00:00.000Z')
],
title: 'Test sondage créneaux Paris',
groups: [],
meetingSlots: [],
duration: '01:00',
public: true,
hideParticipantsList: false,
allDay: false,
type: 'POLL',
expiresAt: ISODate('2024-10-06T14:00:00.000Z'),
active: false,
completed: false,
userId: 'bpbwFDzhAsNm4Y85G',
createdAt: ISODate('2024-09-03T08:23:34.322Z'),
updatedAt: ISODate('2024-09-03T08:23:34.323Z')
}
]
Les réponses sont vides : db.polls_answers.find({pollId: 'tb5WzKban6WGCJnTQ'})
Après que mes réponses soient enregistrées
Le sondage est inchangé : db.polls.find({_id: 'tb5WzKban6WGCJnTQ'})
[
{
_id: 'tb5WzKban6WGCJnTQ',
dates: [
ISODate('2024-09-04T08:00:00.000Z'),
ISODate('2024-09-04T12:00:00.000Z'),
ISODate('2024-09-05T08:00:00.000Z'),
ISODate('2024-09-05T12:00:00.000Z'),
ISODate('2024-09-06T08:00:00.000Z'),
ISODate('2024-09-06T12:00:00.000Z')
],
title: 'Test sondage créneaux Paris',
groups: [],
meetingSlots: [],
duration: '01:00',
public: true,
hideParticipantsList: false,
allDay: false,
type: 'POLL',
expiresAt: ISODate('2024-10-06T14:00:00.000Z'),
active: true,
completed: false,
userId: 'bpbwFDzhAsNm4Y85G',
createdAt: ISODate('2024-09-03T08:23:34.322Z'),
updatedAt: ISODate('2024-09-03T08:25:22.770Z')
}
]
Ma réponses est enregistrée : db.polls_answers.find({pollId: 'tb5WzKban6WGCJnTQ'})
[
{
_id: 'MafoC7fbkf7YacXQB',
email: 'daniel.dehennin@ac-dijon.fr',
pollId: 'tb5WzKban6WGCJnTQ',
choices: [
{ date: ISODate('2024-09-04T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-04T12:00:00.000Z'), present: true },
{ date: ISODate('2024-09-05T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-05T12:00:00.000Z'), present: true },
{ date: ISODate('2024-09-06T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-06T12:00:00.000Z'), present: true }
],
confirmed: false,
createdAt: ISODate('2024-09-03T08:25:35.656Z'),
meetingSlot: [],
name: 'Daniel Dehennin',
updatedAt: ISODate('2024-09-03T08:25:35.656Z'),
userId: 'bpbwFDzhAsNm4Y85G'
}
]
Après enregistrement de l’édition du sondage sans rien toucher
Le sondage est modifié, les créneaux horaires sont deux heures plus tôt : db.polls.find({_id: 'tb5WzKban6WGCJnTQ'})
[
{
_id: 'tb5WzKban6WGCJnTQ',
dates: [
ISODate('2024-09-04T06:00:00.000Z'),
ISODate('2024-09-04T10:00:00.000Z'),
ISODate('2024-09-05T06:00:00.000Z'),
ISODate('2024-09-05T10:00:00.000Z'),
ISODate('2024-09-06T06:00:00.000Z'),
ISODate('2024-09-06T10:00:00.000Z')
],
title: 'Test sondage créneaux Paris',
groups: [],
meetingSlots: [],
duration: '01:00',
public: true,
hideParticipantsList: false,
allDay: false,
type: 'POLL',
expiresAt: ISODate('2024-10-06T12:00:00.000Z'),
active: false,
completed: false,
userId: 'bpbwFDzhAsNm4Y85G',
createdAt: ISODate('2024-09-03T08:23:34.322Z'),
updatedAt: ISODate('2024-09-03T08:32:21.534Z'),
description: 'Ça fait quoi après édition ?'
}
]
Ma réponses est toujours présente, mes choix ne correspondent plus aux créneaux du sondage : db.polls_answers.find({pollId: 'tb5WzKban6WGCJnTQ'})
[
{
_id: 'MafoC7fbkf7YacXQB',
email: 'daniel.dehennin@ac-dijon.fr',
pollId: 'tb5WzKban6WGCJnTQ',
choices: [
{ date: ISODate('2024-09-04T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-04T12:00:00.000Z'), present: true },
{ date: ISODate('2024-09-05T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-05T12:00:00.000Z'), present: true },
{ date: ISODate('2024-09-06T08:00:00.000Z'), present: true },
{ date: ISODate('2024-09-06T12:00:00.000Z'), present: true }
],
confirmed: false,
createdAt: ISODate('2024-09-03T08:25:35.656Z'),
meetingSlot: [],
name: 'Daniel Dehennin',
updatedAt: ISODate('2024-09-03T08:25:35.656Z'),
userId: 'bpbwFDzhAsNm4Y85G'
}
]