given a LID, return a shared notebook record
| 193 | |
| 194 | // given a LID, return a shared notebook record |
| 195 | bool SharedNotebookTable::get(SharedNotebook ¬ebook, qint32 lid, QString username){ |
| 196 | NSqlQuery query(db); |
| 197 | db->lockForRead(); |
| 198 | query.prepare("select key, data from datastore where lid in (Select lid from DataStore where lid=:lid and key=:key and data=:data)"); |
| 199 | query.bindValue(":lid", lid); |
| 200 | query.bindValue(":key", SHAREDNOTEBOOK_USERNAME); |
| 201 | query.bindValue(":data", username); |
| 202 | query.exec(); |
| 203 | bool returnVal = false; |
| 204 | while (query.next()) { |
| 205 | qint32 key = query.value(0).toInt(); |
| 206 | switch (key) { |
| 207 | case (SHAREDNOTEBOOK_EMAIL): |
| 208 | notebook.email = query.value(1).toString(); |
| 209 | returnVal = true; |
| 210 | break; |
| 211 | case (SHAREDNOTEBOOK_ISDIRTY): |
| 212 | returnVal = true; |
| 213 | break; |
| 214 | case (SHAREDNOTEBOOK_SERVICE_CREATED): |
| 215 | notebook.serviceCreated = query.value(1).toLongLong(); |
| 216 | returnVal = true; |
| 217 | break; |
| 218 | case (SHAREDNOTEBOOK_SERVICE_UPDATED): |
| 219 | returnVal = true; |
| 220 | break; |
| 221 | case (SHAREDNOTEBOOK_ALLOW_PREVIEW): |
| 222 | notebook.allowPreview = query.value(1).toBool(); |
| 223 | returnVal = true; |
| 224 | break; |
| 225 | case (SHAREDNOTEBOOK_ID): |
| 226 | notebook.id = query.value(1).toLongLong(); |
| 227 | returnVal = true; |
| 228 | break; |
| 229 | case (SHAREDNOTEBOOK_NOTEBOOK_GUID): |
| 230 | notebook.notebookGuid = query.value(1).toString(); |
| 231 | returnVal = true; |
| 232 | break; |
| 233 | case (SHAREDNOTEBOOK_MODIFIABLE): |
| 234 | notebook.notebookModifiable = query.value(1).toBool(); |
| 235 | returnVal = true; |
| 236 | break; |
| 237 | case (SHAREDNOTEBOOK_REQUIRE_LOGIN): |
| 238 | notebook.requireLogin = query.value(1).toBool(); |
| 239 | returnVal = true; |
| 240 | break; |
| 241 | case (SHAREDNOTEBOOK_PRIVILEGE): { |
| 242 | int priv = query.value(1).toInt(); |
| 243 | notebook.privilege = SharedNotebookPrivilegeLevel::READ_NOTEBOOK; |
| 244 | if (priv == SharedNotebookPrivilegeLevel::FULL_ACCESS) |
| 245 | notebook.privilege = SharedNotebookPrivilegeLevel::FULL_ACCESS; |
| 246 | if (priv == SharedNotebookPrivilegeLevel::BUSINESS_FULL_ACCESS) |
| 247 | notebook.privilege = SharedNotebookPrivilegeLevel::BUSINESS_FULL_ACCESS; |
| 248 | if (priv == SharedNotebookPrivilegeLevel::GROUP) |
| 249 | notebook.privilege = SharedNotebookPrivilegeLevel::GROUP; |
| 250 | if (priv == SharedNotebookPrivilegeLevel::MODIFY_NOTEBOOK_PLUS_ACTIVITY) |
| 251 | notebook.privilege = SharedNotebookPrivilegeLevel::MODIFY_NOTEBOOK_PLUS_ACTIVITY; |
| 252 | if (priv == SharedNotebookPrivilegeLevel::READ_NOTEBOOK_PLUS_ACTIVITY) |