diff --git a/plugins/FeedReader/gui/AddFeedDialog.cpp b/plugins/FeedReader/gui/AddFeedDialog.cpp index a82c9aa85..f094fdd4e 100644 --- a/plugins/FeedReader/gui/AddFeedDialog.cpp +++ b/plugins/FeedReader/gui/AddFeedDialog.cpp @@ -397,7 +397,7 @@ void AddFeedDialog::loadForumGroups(const uint32_t &token) const RsGxsForumGroup &group = *it; /* show only own forums */ - if (IS_GROUP_PUBLISHER(group.mMeta.mSubscribeFlags) && IS_GROUP_ADMIN(group.mMeta.mSubscribeFlags)) { + if (IS_GROUP_PUBLISHER(group.mMeta.mSubscribeFlags) && IS_GROUP_ADMIN(group.mMeta.mSubscribeFlags) && !group.mMeta.mAuthorId.isNull()) { ui->forumComboBox->addItem(QString::fromUtf8(group.mMeta.mGroupName.c_str()), QString::fromStdString(group.mMeta.mGroupId.toStdString())); } } diff --git a/plugins/FeedReader/gui/FeedReaderStringDefs.cpp b/plugins/FeedReader/gui/FeedReaderStringDefs.cpp index 0141a3927..c94544eb5 100644 --- a/plugins/FeedReader/gui/FeedReaderStringDefs.cpp +++ b/plugins/FeedReader/gui/FeedReaderStringDefs.cpp @@ -119,6 +119,9 @@ QString FeedReaderStringDefs::errorString(RsFeedReaderErrorState errorState, con case RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_ADMIN: errorText = QApplication::translate("FeedReaderStringDefs", "You are not admin of the forum"); break; + case RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_AUTHOR: + errorText = QApplication::translate("FeedReaderStringDefs", "Forum has no author"); + break; case RS_FEED_ERRORSTATE_PROCESS_HTML_ERROR: errorText = QApplication::translate("FeedReaderStringDefs", "Can't read html"); diff --git a/plugins/FeedReader/interface/rsFeedReader.h b/plugins/FeedReader/interface/rsFeedReader.h index 8814297f0..85879e239 100644 --- a/plugins/FeedReader/interface/rsFeedReader.h +++ b/plugins/FeedReader/interface/rsFeedReader.h @@ -45,6 +45,7 @@ enum RsFeedReaderErrorState { RS_FEED_ERRORSTATE_PROCESS_FORUM_CREATE = 100, RS_FEED_ERRORSTATE_PROCESS_FORUM_NOT_FOUND = 101, RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_ADMIN = 102, + RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_AUTHOR = 103, RS_FEED_ERRORSTATE_PROCESS_HTML_ERROR = 150, RS_FEED_ERRORSTATE_PROCESS_XPATH_INTERNAL_ERROR = 151, diff --git a/plugins/FeedReader/lang/FeedReader_en.ts b/plugins/FeedReader/lang/FeedReader_en.ts index abcdeba97..e0337a6a6 100644 --- a/plugins/FeedReader/lang/FeedReader_en.ts +++ b/plugins/FeedReader/lang/FeedReader_en.ts @@ -659,7 +659,7 @@ - + Unknown @@ -714,57 +714,62 @@ - - Can't read html + + Forum has no author - Internal XPath error + Can't read html - Wrong XPath expression + Internal XPath error - Empty XPath result + Wrong XPath expression - XSLT format error + Empty XPath result - XSLT transformation error + XSLT format error + XSLT transformation error + + + + Empty XSLT result - + Unknown error - + No transformation - + XPath - + XSLT diff --git a/plugins/FeedReader/services/p3FeedReader.cc b/plugins/FeedReader/services/p3FeedReader.cc index 3bd03e09d..0a53ad548 100644 --- a/plugins/FeedReader/services/p3FeedReader.cc +++ b/plugins/FeedReader/services/p3FeedReader.cc @@ -1920,6 +1920,10 @@ void p3FeedReader::onProcessSuccess_addMsgs(const std::string &feedId, std::list if (IS_GROUP_PUBLISHER(forumGroup.mMeta.mSubscribeFlags) && IS_GROUP_ADMIN(forumGroup.mMeta.mSubscribeFlags)) { forumId = fi->forumId; authorId = forumGroup.mMeta.mAuthorId; + + if (authorId.isNull()) { + errorState = RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_AUTHOR; + } } else { errorState = RS_FEED_ERRORSTATE_PROCESS_FORUM_NO_ADMIN; }