From 31d8a4c09f100f1acbf0d49f010a112d3f78bb97 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Wed, 28 Jul 2021 23:42:45 +0200 Subject: [PATCH] Adjust alarm logic to include UTC offset or displayTimeShift. --- src/mvc/event.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mvc/event.cpp b/src/mvc/event.cpp index d2075e7..615bb09 100644 --- a/src/mvc/event.cpp +++ b/src/mvc/event.cpp @@ -103,10 +103,19 @@ QList Event::conflictEvents(int aEventId, int conferenceId) { QList Event::getImminentAlarmEvents(int maxSecToAlarm, int conferenceId) { + Conference conference = Conference::getById(conferenceId); QSqlQuery query; query.prepare(selectQuery() + "WHERE xid_conference = :conf AND (start < :start AND alarm = 1) ORDER BY start, duration"); query.bindValue(":conf", conferenceId); - query.bindValue(":start", convertToDb(QDateTime::currentDateTime().addSecs(maxSecToAlarm), QVariant::DateTime)); + QDateTime start; + if (conference.hasUtcOffset()) { + start = QDateTime::currentDateTimeUtc().addSecs(conference.utcOffset() * 60); + } else { + start = QDateTime::currentDateTime(); + if (conference.hasDisplayTimeShift()) start = start.addSecs(conference.displayTimeShift() * 60); + } + start = start.addSecs(maxSecToAlarm); + query.bindValue(":start", convertToDb(start, QVariant::DateTime)); return load(query); } -- 2.39.5