From d6d8ed501939f25a5e686eecb6027ac39bf11cfa Mon Sep 17 00:00:00 2001 From: Ludovic Dubost Date: Fri, 20 Mar 2026 10:49:55 +0100 Subject: [PATCH] Fix date array in forms which breaks when going accross DST --- www/form/inner.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index 70c9f1cb4..7eb356792 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -2819,19 +2819,18 @@ define([ return new Date(d.getFullYear(), d.getMonth(), d.getDate()); }; - var ONE_DAY = 1000 * 60 * 60 * 24; - var getDayArray = function (a, b) { - // coerce inputs to numbers - var r_a = +getDay(new Date(a)); - var r_b = +getDay(new Date(b)); - var A = [ r_a ]; - var next = r_a + ONE_DAY; - while (next <= r_b) { - A.push(next); - next += ONE_DAY; + var start = getDay(new Date(a)); + var end = getDay(new Date(b)); + var days = []; + var current = new Date(start); + + while (+current <= +end) { + days.push(+current); + current.setDate(current.getDate() + 1); } - return A; + + return days; }; Messages.form_timelineLabel = "{0} ({1})"; // TODO investigate whether this needs translation