search fixed
[toast/confclerk.git] / src / sql / sqlengine.cpp
index 14c68fc..07f6024 100644 (file)
@@ -6,7 +6,6 @@
 #include <QDateTime>
 
 #include <QDir>
-#include <appsettings.h>
 #include "sqlengine.h"
 #include <track.h>
 #include <conference.h>
@@ -94,13 +93,11 @@ void SqlEngine::addConferenceToDB(QHash<QString,QString> &aConference)
                              .arg(aConference["days"]) \
                              .arg(-QTime::fromString(aConference["day_change"],TIME_FORMAT).secsTo(QTime(0,0))) \
                              .arg(-QTime::fromString(aConference["timeslot_duration"],TIME_FORMAT).secsTo(QTime(0,0)));
+                             values.append(QString(", '%1'").arg(confsList.count()>0?"0":"1"));
 
-            QString query = QString("INSERT INTO CONFERENCE (title,subtitle,venue,city,start,end,days,day_change,timeslot_duration) VALUES (%1)").arg(values);
+            QString query = QString("INSERT INTO CONFERENCE (title,subtitle,venue,city,start,end,days,day_change,timeslot_duration,active) VALUES (%1)").arg(values);
             QSqlQuery result (query, db);
             aConference["id"] = result.lastInsertId().toString(); // 'id' is assigned automatically
-
-            if(!AppSettings::confId()) // default conf Id isn't set yet => set it up
-                AppSettings::setConfId(confId);
         }
     }
 }
@@ -155,7 +152,6 @@ void SqlEngine::addEventToDB(QHash<QString,QString> &aEvent)
     }
 }
 
-
 void SqlEngine::addPersonToDB(QHash<QString,QString> &aPerson)
 {
     QSqlDatabase db = QSqlDatabase::database();
@@ -240,7 +236,8 @@ bool SqlEngine::createTables(QSqlDatabase &aDatabase)
             "end INTEGER NOT NULL, "
             "days INTEGER, "
             "day_change INTEGER, "
-            "timeslot_duration INTEGER);");
+            "timeslot_duration INTEGER, "
+            "active INTEGER DEFAULT 0);");
 
         query.exec("CREATE TABLE TRACK ( "
             "id INTEGER  PRIMARY KEY AUTOINCREMENT  NOT NULL, "
@@ -291,14 +288,6 @@ bool SqlEngine::createTables(QSqlDatabase &aDatabase)
             "FOREIGN KEY(xid_event) REFERENCES EVENT(id), "
             "FOREIGN KEY(xid_room) REFERENCES ROOM(id));");
 
-        query.exec("CREATE TABLE EVENT_CONFLICT ( "
-            "xid_conference INTEGER NOT NULL, "
-            "xid_event INTEGER NOT NULL, "
-            "conflict_event INTEGER NOT NULL, "
-            "UNIQUE ( xid_conference, xid_event, conflict_event ) ON CONFLICT IGNORE, "
-            "FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), "
-            "FOREIGN KEY(xid_event) REFERENCES EVENT(id));");
-
         query.exec("CREATE TABLE LINK ( "
             "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
             "xid_conference INTEGER NOT NULL, "
@@ -330,14 +319,14 @@ int SqlEngine::searchEvent(int aConferenceId, const QHash<QString,QString> &aCol
     // CREATE
     execQuery( db, "CREATE TEMP TABLE SEARCH_EVENT ( xid_conference INTEGER  NOT NULL, id INTEGER NOT NULL );");
     // INSERT
-    QString query = QString("INSERT INTO SEARCH_EVENT ( xid_conference, id) "
+    QString query = QString("INSERT INTO SEARCH_EVENT ( xid_conference, id ) "
                 "SELECT EVENT.xid_conference, EVENT.id FROM EVENT ");
     if( aColumns.contains("ROOM") ){
-        query += "INNER JOIN EVENT_ROOM ON (EVENT.xid_conference = EVENT_ROOM.xid_conference AND EVENT.id = EVENT_ROOM.xid_event ) ";
+        query += "INNER JOIN EVENT_ROOM ON ( EVENT.xid_conference = EVENT_ROOM.xid_conference AND EVENT.id = EVENT_ROOM.xid_event ) ";
         query += "INNER JOIN ROOM ON ( EVENT_ROOM.xid_room = ROOM.id ) ";
     }
     if( aColumns.contains("PERSON") ){
-        query += "INNER JOIN EVENT_PERSON ON (EVENT.xid_conference = EVENT_PERSON.xid_conference AND EVENT.id = EVENT_PERSON.xid_event ) ";
+        query += "INNER JOIN EVENT_PERSON ON ( EVENT.xid_conference = EVENT_PERSON.xid_conference AND EVENT.id = EVENT_PERSON.xid_event ) ";
         query += "INNER JOIN PERSON ON ( EVENT_PERSON.xid_person = PERSON.id ) ";
     }
     query += QString("WHERE EVENT.xid_conference = %1 AND (").arg( aConferenceId );
@@ -358,7 +347,7 @@ int SqlEngine::searchEvent(int aConferenceId, const QHash<QString,QString> &aCol
 
 bool SqlEngine::execQuery(QSqlDatabase &aDatabase, const QString &aQuery)
 {
-    qDebug() << "\nSQL: " << aQuery;
+    //qDebug() << "\nSQL: " << aQuery;
 
     QSqlQuery sqlQuery(aDatabase);
     if( !sqlQuery.exec(aQuery) ){
@@ -366,7 +355,7 @@ bool SqlEngine::execQuery(QSqlDatabase &aDatabase, const QString &aQuery)
        return false;
     }
     else{
-       qDebug() << "SQL OK.\n";
+       //qDebug() << "SQL OK.\n";
        return true;
     }
 }