2020-05-21 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in the 'Edit Feed' dialog in rdadmin(1) that allowed
	superfeed setups to be saved with no member subfeeds.
	* Fixed a bug in the 'Edit Feed' dialog in rdadmin(1) that allowed
	a per-item default image to be configured for superfeeds.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2020-05-21 11:56:58 -04:00
parent 65bb8b72e3
commit de6288285d
11 changed files with 63 additions and 3 deletions

View File

@ -19971,3 +19971,8 @@
rdcastmanager(1).
2020-05-21 Fred Gleason <fredg@paravelsystems.com>
* Populated the 'Apple' RSS schema.
2020-05-21 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the 'Edit Feed' dialog in rdadmin(1) that allowed
superfeed setups to be saved with no member subfeeds.
* Fixed a bug in the 'Edit Feed' dialog in rdadmin(1) that allowed
a per-item default image to be configured for superfeeds.

View File

@ -144,6 +144,26 @@ void RDFeed::setIsSuperfeed(bool state) const
}
QStringList RDFeed::subfeedNames() const
{
QString sql;
RDSqlQuery *q=NULL;
QStringList ret;
sql=QString("select ")+
"MEMBER_KEY_NAME "+ // 00
"from SUPERFEED_MAPS where "+
"KEY_NAME=\""+RDEscapeString(keyName())+"\"";
q=new RDSqlQuery(sql);
while(q->next()) {
ret.push_back(q->value(0).toString());
}
delete q;
return ret;
}
QStringList RDFeed::isSubfeedOf() const
{
QStringList ret;
@ -1306,7 +1326,7 @@ QString RDFeed::rssXml(QString *err_msg,bool *ok)
// Render Item XML
//
QString where;
if(q->value(24).toString()=="Y") {
if(q->value(24).toString()=="Y") { // Is a Superfeed
sql=QString("select ")+
"MEMBER_FEED_ID "+ // 00
"from SUPERFEED_MAPS where "+

View File

@ -48,6 +48,7 @@ class RDFeed : public QObject
bool exists() const;
bool isSuperfeed() const;
void setIsSuperfeed(bool state) const;
QStringList subfeedNames() const;
QStringList isSubfeedOf() const;
bool audienceMetrics() const;
void setAudienceMetrics(bool state);

View File

@ -625,6 +625,12 @@ void EditFeed::listImagesData()
void EditFeed::okData()
{
if(feed_is_superfeed_box->currentItem()&&
feed_feed->subfeedNames().size()==0) {
QMessageBox::warning(this,"RDAdmin - "+tr("Error"),
tr("Superfeed must have at least one subfeed assigned!"));
return;
}
RDDelete *d=new RDDelete(rda->config(),this);
RDUpload *u=new RDUpload(rda->config(),this);
if((!d->urlIsSupported(feed_purge_url_edit->text()))||
@ -919,8 +925,8 @@ void EditFeed::UpdateControlState()
feed_media_link_mode_box->setDisabled(redirected||superfeed);
feed_media_link_mode_label->setDisabled(redirected||superfeed);
feed_item_image_label->setEnabled(item_image&&(!redirected));
feed_item_image_box->setEnabled(item_image&&(!redirected));
feed_item_image_label->setDisabled(item_image&&(redirected||superfeed));
feed_item_image_box->setDisabled(item_image&&(redirected||superfeed));
feed_header_xml_label->setDisabled(redirected||(!custom_schema));
feed_header_xml_edit->setDisabled(redirected||(!custom_schema));

View File

@ -1705,6 +1705,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1584,6 +1584,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1708,6 +1708,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1256,6 +1256,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1546,6 +1546,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1546,6 +1546,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>

View File

@ -1556,6 +1556,10 @@ Feeds</source>
<source>Channel contains explicit content</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Superfeed must have at least one subfeed assigned!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditFeedPerms</name>