From 27d8f5b04fe19cea1425a60cafdbe18a5d09f802 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 3 Dec 2015 07:42:00 +0100 Subject: [PATCH] Fixed account IDs. --- resources/text/CHANGELOG | 2 +- src/services/abstract/serviceroot.cpp | 10 +++++++- src/services/abstract/serviceroot.h | 6 +++++ .../standard/standardserviceentrypoint.cpp | 4 +-- src/services/standard/standardserviceroot.cpp | 2 +- src/services/tt-rss/definitions.h | 25 +++++-------------- .../tt-rss/network/ttrssnetworkfactory.cpp | 7 ++++-- .../tt-rss/network/ttrssnetworkfactory.h | 1 + 8 files changed, 31 insertions(+), 26 deletions(-) diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index f523affbc..578cb8af3 100644 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -16,7 +16,7 @@ Added: diff --git a/src/services/abstract/serviceroot.cpp b/src/services/abstract/serviceroot.cpp index 61c002824..773475c68 100755 --- a/src/services/abstract/serviceroot.cpp +++ b/src/services/abstract/serviceroot.cpp @@ -20,7 +20,7 @@ #include "core/feedsmodel.h" -ServiceRoot::ServiceRoot(RootItem *parent) : RootItem(parent) { +ServiceRoot::ServiceRoot(RootItem *parent) : RootItem(parent), m_accountId(NO_PARENT_CATEGORY) { setKind(RootItemKind::ServiceRoot); } @@ -46,3 +46,11 @@ void ServiceRoot::requestItemReassignment(RootItem *item, RootItem *new_parent) void ServiceRoot::requestItemRemoval(RootItem *item) { emit itemRemovalRequested(item); } + +int ServiceRoot::accountId() const { + return m_accountId; +} + +void ServiceRoot::setAccountId(int account_id) { + m_accountId = account_id; +} diff --git a/src/services/abstract/serviceroot.h b/src/services/abstract/serviceroot.h index f178ad4da..8868143ee 100755 --- a/src/services/abstract/serviceroot.h +++ b/src/services/abstract/serviceroot.h @@ -135,6 +135,9 @@ class ServiceRoot : public RootItem { void requestItemReassignment(RootItem *item, RootItem *new_parent); void requestItemRemoval(RootItem *item); + int accountId() const; + void setAccountId(int account_id); + signals: // Emitted if data in any item belonging to this root are changed. void dataChanged(QList items); @@ -143,6 +146,9 @@ class ServiceRoot : public RootItem { void itemReassignmentRequested(RootItem *item, RootItem *new_parent); void itemRemovalRequested(RootItem *item); + + private: + int m_accountId; }; #endif // SERVICEROOT_H diff --git a/src/services/standard/standardserviceentrypoint.cpp b/src/services/standard/standardserviceentrypoint.cpp index 8d979815c..730255b73 100755 --- a/src/services/standard/standardserviceentrypoint.cpp +++ b/src/services/standard/standardserviceentrypoint.cpp @@ -74,7 +74,7 @@ ServiceRoot *StandardServiceEntryPoint::createNewRoot() { if (query.exec(QString("INSERT INTO Accounts (id, type) VALUES (%1, '%2');").arg(QString::number(id_to_assing), SERVICE_CODE_STD_RSS))) { StandardServiceRoot *root = new StandardServiceRoot(true); - root->setId(id_to_assing); + root->setAccountId(id_to_assing); return root; } else { @@ -91,7 +91,7 @@ QList StandardServiceEntryPoint::initializeSubtree() { if (query.exec(QString("SELECT id FROM Accounts WHERE type = '%1';").arg(SERVICE_CODE_STD_RSS))) { while (query.next()) { StandardServiceRoot *root = new StandardServiceRoot(true); - root->setId(query.value(0).toInt()); + root->setAccountId(query.value(0).toInt()); roots.append(root); } } diff --git a/src/services/standard/standardserviceroot.cpp b/src/services/standard/standardserviceroot.cpp index 623178b6c..7752375da 100755 --- a/src/services/standard/standardserviceroot.cpp +++ b/src/services/standard/standardserviceroot.cpp @@ -144,7 +144,7 @@ QVariant StandardServiceRoot::data(int column, int role) const { switch (role) { case Qt::ToolTipRole: if (column == FDS_MODEL_TITLE_INDEX) { - return tr("This is service account for standard RSS/RDF/ATOM feeds."); + return tr("This is service account for standard RSS/RDF/ATOM feeds.\n\nAccount ID: %1").arg(accountId()); } else if (column == FDS_MODEL_COUNTS_INDEX) { //: Tooltip for "unread" column of feed list. diff --git a/src/services/tt-rss/definitions.h b/src/services/tt-rss/definitions.h index c77b7ff11..9a96dfed7 100755 --- a/src/services/tt-rss/definitions.h +++ b/src/services/tt-rss/definitions.h @@ -4,8 +4,12 @@ #define MINIMAL_API_LEVEL 10 #define CONTENT_TYPE "application/json; charset=utf-8" -// Error when user needs to login before making an operation. -#define NOT_LOGGED_IN "NOT_LOGGED_IN" +/// +/// Errors. +/// +#define NOT_LOGGED_IN "NOT_LOGGED_IN" // Error when user needs to login before making an operation. +#define UNKNOWN_METHOD "UNKNOWN_METHOD" // Given "op" is not recognized. +#define INCORRECT_USAGE "INCORRECT_USAGE" // Given "op" was used with bad parameters. // General return status codes. #define API_STATUS_OK 0 @@ -19,21 +23,4 @@ // Logout. #define LOGOUT_OK "OK" - -/* //login - * QtJson::JsonObject obj; - obj["op"] = "login"; - obj["user"] = "admin"; - obj["password"] = "Zy69tKWF"; - - QByteArray arr; - NetworkResult res = NetworkFactory::uploadData("http://rss.rotterovi.eu/api/", - 15000, - QtJson::serialize(obj), - "application/json; charset=utf-8", - arr); - - obj = QtJson::parse(QString::fromUtf8(arr)).toMap();*/ - #endif // DEFINITIONS_H - diff --git a/src/services/tt-rss/network/ttrssnetworkfactory.cpp b/src/services/tt-rss/network/ttrssnetworkfactory.cpp index 8c300cc77..9028613f5 100755 --- a/src/services/tt-rss/network/ttrssnetworkfactory.cpp +++ b/src/services/tt-rss/network/ttrssnetworkfactory.cpp @@ -22,7 +22,8 @@ #include "network-web/networkfactory.h" -TtRssNetworkFactory::TtRssNetworkFactory() : m_url(QString()) { +TtRssNetworkFactory::TtRssNetworkFactory() + : m_url(QString()), m_username(QString()), m_password(QString()), m_session_Id(QString()) { } TtRssNetworkFactory::~TtRssNetworkFactory() { @@ -65,7 +66,9 @@ LoginResult TtRssNetworkFactory::login() { return LoginResult(res.first, TtRssLoginResponse()); } else { - return LoginResult(res.first, TtRssLoginResponse(QString::fromUtf8(result))); + LoginResult result(res.first, TtRssLoginResponse(QString::fromUtf8(result))); + m_session_Id = result.second.sessionId(); + return result; } } diff --git a/src/services/tt-rss/network/ttrssnetworkfactory.h b/src/services/tt-rss/network/ttrssnetworkfactory.h index 52f559ec5..c6ce09028 100755 --- a/src/services/tt-rss/network/ttrssnetworkfactory.h +++ b/src/services/tt-rss/network/ttrssnetworkfactory.h @@ -73,6 +73,7 @@ class TtRssNetworkFactory { QString m_url; QString m_username; QString m_password; + QString m_session_Id; }; #endif // TTRSSNETWORKFACTORY_H