From: Philipp Spitzer Date: Wed, 13 Sep 2017 21:26:25 +0000 (+0200) Subject: If no day_change was given for a conference 4 AM is assumed. X-Git-Tag: 0.6.3~8 X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/commitdiff_plain/d03ca410f87168b46d14757ae10eaac8106e165b If no day_change was given for a conference 4 AM is assumed. Fixes #53. --- diff --git a/src/sql/schedulexmlparser.cpp b/src/sql/schedulexmlparser.cpp index 7bf7ed6..056e0e1 100644 --- a/src/sql/schedulexmlparser.cpp +++ b/src/sql/schedulexmlparser.cpp @@ -63,7 +63,9 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url, i conference["city"] = conferenceElement.firstChildElement("city").text(); conference["start"] = conferenceElement.firstChildElement("start").text(); // date conference["end"] = conferenceElement.firstChildElement("end").text(); // date - conference["day_change"] = conferenceElement.firstChildElement("day_change").text(); // time + QString conferenceDayChangeStr = conferenceElement.firstChildElement("day_change").text(); // time, e.g. "04:00:00" + if (conferenceDayChangeStr.isEmpty()) conferenceDayChangeStr = "04:00:00"; + conference["day_change"] = conferenceDayChangeStr; conference["timeslot_duration"] = conferenceElement.firstChildElement("timeslot_duration").text(); // time conference["url"] = url; sqlEngine->addConferenceToDB(conference, conferenceId); diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index e062387..9998467 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -154,7 +154,8 @@ void SqlEngine::addConferenceToDB(QHash &aConference, int confe } 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(":day_change", -QTime::fromString(aConference["day_change"],TIME_FORMAT).secsTo(QTime(0,0))); + 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))); query.bindValue(":active", 1); if (!insert) query.bindValue(":id", conferenceId);