Fix SQL query which returned too many rooms.
authorgregor herrmann <gregoa@debian.org>
Tue, 9 Sep 2014 19:48:36 +0000 (19:48 +0000)
committergregor herrmann <gregoa@debian.org>
Tue, 9 Sep 2014 19:48:36 +0000 (19:48 +0000)
src/mvc/event.cpp

index c8cc349..6b89b3b 100644 (file)
@@ -73,9 +73,10 @@ QList<Event> Event::getByDateAndRoom(const QDate& date, int conferenceId) {
     QSqlQuery query;
     QString aliasEvent("E");
     QString aliasEventRoom("R");
-    query.prepare(QString("SELECT %1 FROM %2 %3, %4 %5 WHERE %3.xid_conference = :conf AND %3.start >= :start AND %3.start < :end AND %3.id = R.xid_event ORDER BY %5.xid_room, %3.start, %3.duration").arg(
+    query.prepare(QString("SELECT %1 FROM %2 %3, %4 %5 WHERE %3.xid_conference = :conf_e AND %5.xid_conference = :conf_r AND %3.start >= :start AND %3.start < :end AND %3.id = %5.xid_event ORDER BY %5.xid_room, %3.start, %3.duration").arg(
                     columnsForSelect(aliasEvent), Event::sTableName, aliasEvent, "EVENT_ROOM", aliasEventRoom));
-    query.bindValue(":conf", conferenceId);
+    query.bindValue(":conf_e", conferenceId);
+    query.bindValue(":conf_r", conferenceId);
     query.bindValue(":start", dayStart.toTime_t());
     query.bindValue(":end", dayStart.addDays(1).toTime_t());