Fixed bug reported by gregor: Too many authors are shown (form other conferences...
[toast/confclerk.git] / src / mvc / event.cpp
index 1cd600d600eaeed5c3b8647100860a01678c0518..b70cf7aaa27ed8770188824a9ca64b1efd25bb6d 100644 (file)
@@ -1,20 +1,21 @@
 /*
  * Copyright (C) 2010 Ixonos Plc.
+ * Copyright (C) 2011 Philipp Spitzer, gregor herrmann
  *
- * This file is part of fosdem-schedule.
+ * This file is part of ConfClerk.
  *
- * fosdem-schedule is free software: you can redistribute it and/or modify it
+ * ConfClerk is free software: you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
  * Software Foundation, either version 2 of the License, or (at your option)
  * any later version.
  *
- * fosdem-schedule is distributed in the hope that it will be useful, but
+ * ConfClerk is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  * more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
+ * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include "event.h"
 #include "room.h"
@@ -156,13 +157,11 @@ QStringList Event::persons()
     if( mPersonsList.isEmpty() )
     {
         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 AND event_person.xid_conference = :conf");
+        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 = :conf1 AND person.xid_conference = :conf2");
         query.bindValue(":id", id());
-        query.bindValue(":conf", conferenceId());
-        query.exec();
-        // TODO: handle qeury error
-        //qDebug() << query.lastError();
+        query.bindValue(":conf1", conferenceId());
+        query.bindValue(":conf2", conferenceId());
+        if (!query.exec())  qDebug() << query.lastError();
 
         while(query.next())
             mPersonsList.append(query.record().value("name").toString());
@@ -225,7 +224,7 @@ QList<Event> Event::getSearchResultByDate(const QDate& date, int conferenceId, Q
 {
     QString strQuery = QString("SELECT %1 FROM EVENT INNER JOIN SEARCH_EVENT USING (xid_conference, id) ").arg(columnsForSelect());
     strQuery += QString("WHERE xid_conference = :conf AND start >= :start AND start < :end ORDER BY %1").arg(orderBy);
-    //qDebug() << strQuery;
+
     QList<Event> list;
     QSqlQuery query;
     try{