Move from deprecated moment#zone to moment#utcOffset (#12207)

* Issue 10209 - Remove read usages of zone

* Issue 10209 - Add coverage on daysSince and startOfDay cron utility functions

* Issue 10209 - Add unit test for daysUserHasMissed method

* Issue 10209 - Remove usages of deprecated `moment.js#zone` method.

* Issue 10209 - Add helper function to centralise logic

Also simplify timezoneOffsetToUtc function in site.vue

* Issue 10209 - Also add getUtcOffset as method on user

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
This commit is contained in:
Bart Enkelaar
2020-07-25 13:22:41 +02:00
committed by GitHub
parent c10b9b7993
commit 234258b41e
25 changed files with 413 additions and 141 deletions

View File

@@ -1,6 +1,7 @@
import { v4 as uuid } from 'uuid';
import defaults from 'lodash/defaults';
import moment from 'moment';
import getUtcOffset from '../fns/getUtcOffset';
// Even though Mongoose handles task defaults,
// we want to make sure defaults are set on the client-side before
@@ -66,7 +67,7 @@ export default function taskDefaults (task, user) {
}
if (task.type === 'daily') {
const now = moment().zone(user.preferences.timezoneOffset);
const now = moment().utcOffset(getUtcOffset(user));
const startOfDay = now.clone().startOf('day');
const startOfDayWithCDSTime = startOfDay
.clone()