UTC/LocalTime fix for import conference XML, DB queries for multiple conferences...
authortimkoma <timkoma@localhost>
Wed, 3 Mar 2010 15:47:00 +0000 (15:47 +0000)
committertimkoma <timkoma@localhost>
Wed, 3 Mar 2010 15:47:00 +0000 (15:47 +0000)
src/alarm/alarm.cpp
src/mvc/event.cpp
src/sql/sqlengine.cpp

index 006fc79..558f26f 100644 (file)
@@ -47,7 +47,7 @@ int Alarm::addAlarm(int aEventId, const QDateTime &aDateTime)
     qDebug() << "UTC: " << local.toTime_t();
     local.setTimeSpec(Qt::LocalTime);
     qDebug() << "LocalTime: " << local.toTime_t();
-    
+
     eve->alarm_time = local.toTime_t();
     eve->flags = ALARM_EVENT_BOOT;
 
index cf0a2bd..40d9f32 100644 (file)
@@ -143,8 +143,9 @@ int Event::roomId()
     if ( mRoomId == 0 )
     {
         QSqlQuery query;
-        query.prepare("SELECT xid_room FROM event_room WHERE xid_event = :id");
+        query.prepare("SELECT xid_room FROM event_room WHERE xid_event = :id AND xid_conference = :conf");
         query.bindValue(":id", id());
+        query.bindValue(":conf", conferenceId());
         if (!query.isActive())
             if (!query.exec())
                 throw OrmSqlException(query.lastError().text());
@@ -164,8 +165,9 @@ QStringList Event::persons()
     {
         QSqlQuery query;
         // TODO: conference ID isn't used here
-        query.prepare("SELECT person.name FROM person INNER JOIN event_person ON person.id = event_person.xid_person AND event_person.xid_event = :id");
+        query.prepare("SELECT person.name FROM person INNER JOIN event_person ON person.id = event_person.xid_person AND event_person.xid_event = :id AND event_person.xid_conference = :conf");
         query.bindValue(":id", id());
+        query.bindValue(":conf", conferenceId());
         query.exec();
         // TODO: handle qeury error
         //qDebug() << query.lastError();
index bb59480..90cb989 100644 (file)
@@ -152,7 +152,10 @@ void SqlEngine::addEventToDB(QHash<QString,QString> &aEvent)
             trackId = track.insert();
             /*qDebug() << QString("DEBUG: Track %1 added to DB").arg(name);*/
         }
-        QDateTime startDateTime = QDateTime(QDate::fromString(aEvent["date"],DATE_FORMAT),QTime::fromString(aEvent["start"],TIME_FORMAT));
+        QDateTime startDateTime;
+        startDateTime.setTimeSpec(Qt::UTC);
+        startDateTime = QDateTime(QDate::fromString(aEvent["date"],DATE_FORMAT),QTime::fromString(aEvent["start"],TIME_FORMAT),Qt::UTC);
+        qDebug() << "startDateTime: " << startDateTime.toString();
         QString values = QString("'%1', '%2', '%3', '%4', '%5', '%6', '%7', ? , ? , ? , ? , ? , '%8', '%9'") \
                          .arg(aEvent["conference_id"]) \
                          .arg(aEvent["id"]) \
@@ -168,6 +171,7 @@ void SqlEngine::addEventToDB(QHash<QString,QString> &aEvent)
             QString("INSERT INTO EVENT (xid_conference, id, start, duration, xid_track, type, language, tag, title, subtitle, abstract, description, favourite, alarm) VALUES (%1)")
             .arg(values);
 
+        qDebug() << query;
         QSqlQuery result;
         result.prepare(query);
         result.bindValue(0,aEvent["tag"]);
@@ -368,7 +372,6 @@ int SqlEngine::searchEvent(int aConferenceId, const QHash<QString,QString> &aCol
 
     execQuery( db, query );
 
-    //TODO: retun number of rows from SEARCH_EVENT
     return 1;
 }