From 4d221497aee7d8eec52f10479bb4d480c4f14bb8 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Tue, 23 Apr 2024 20:57:18 +0200 Subject: [PATCH] Change parsing of start and end date so that 37C3 schedule works. The 37C3 schedule was created with pretalx. Thanks Felix Becker. --- src/sql/sqlengine.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index 74c5cd7..54228c3 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -144,6 +144,13 @@ bool SqlEngine::applySqlFile(const QString sqlFile) { } +QDateTime parseDateIgnoreTime(QString dateStr) { + QDateTime dateTime = QDateTime::fromString(dateStr, Qt::DateFormat::ISODate); + dateTime.setOffsetFromUtc(0); + return dateTime; +} + + void SqlEngine::addConferenceToDB(QHash &aConference, int conferenceId, bool omit_display_time_shift) { QSqlQuery query(db); bool insert = conferenceId <= 0; @@ -162,8 +169,8 @@ void SqlEngine::addConferenceToDB(QHash &aConference, int confe foreach (QString prop_name, (QList() << "title" << "url" << "subtitle" << "venue" << "city")) { query.bindValue(QString(":") + prop_name, aConference[prop_name]); } - query.bindValue(":start", QDateTime(QDate::fromString(aConference["start"],DATE_FORMAT),QTime(0,0),Qt::UTC).toTime_t()); - query.bindValue(":end", QDateTime(QDate::fromString(aConference["end"],DATE_FORMAT),QTime(0,0),Qt::UTC).toTime_t()); + query.bindValue(":start", parseDateIgnoreTime(aConference["start"]).toTime_t()); + query.bindValue(":end", parseDateIgnoreTime(aConference["end"]).toTime_t()); QTime dayChange = QTime::fromString(aConference["day_change"].left(TIME_FORMAT.size()), TIME_FORMAT); query.bindValue(":day_change", QTime(0, 0).secsTo(dayChange)); query.bindValue(":timeslot_duration", -QTime::fromString(aConference["timeslot_duration"],TIME_FORMAT).secsTo(QTime(0,0))); -- 2.39.5