From ab0d5cbecbd9fa0ecf04c6d37b5972044bd621b5 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Tue, 25 Mar 2008 20:07:16 +0000 Subject: [PATCH] fixed: Collaboration System errors when missing RSS From Parent --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/RSSCapable.pm | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index a35f7cfc8..f06e0a518 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -19,6 +19,7 @@ - fixed: DataForm will create fields with duplicate names but doesn't use them separately - fixed: Bad message if database link for SQL Report doesn't exist - fixed: Thingy shows things from other Thingies + - fixed: Collaboration System errors when missing RSS From Parent 7.5.7 - fixed: HttpProxy mixes original site's content encoding with WebGUI's diff --git a/lib/WebGUI/Asset/RSSCapable.pm b/lib/WebGUI/Asset/RSSCapable.pm index aa3b58f81..ff9a01416 100644 --- a/lib/WebGUI/Asset/RSSCapable.pm +++ b/lib/WebGUI/Asset/RSSCapable.pm @@ -78,9 +78,10 @@ sub definition { sub _rssFromParentValid { my $self = shift; my $rssFromParentId = $self->get('rssCapableRssFromParentId'); - return 0 unless $rssFromParentId; + return undef unless $rssFromParentId; my $rssFromParent = WebGUI::Asset->newByDynamicClass($self->session, $rssFromParentId); + return undef unless $rssFromParent; return ($rssFromParent->isa('WebGUI::Asset::RSSFromParent') && $rssFromParent->getParent->getId eq $self->getId); } @@ -137,7 +138,6 @@ sub processPropertiesFromFormPost { my $self = shift; my $error = $self->NEXT::processPropertiesFromFormPost(@_); return $error if ref $error eq 'ARRAY'; - if ($self->get('rssCapableRssEnabled')) { $self->_ensureRssFromParentPresent; } else { @@ -159,8 +159,10 @@ if there is no such feed. sub getRssUrl { my $self = shift; my $rssFromParentId = $self->get('rssCapableRssFromParentId'); - return undef unless defined $rssFromParentId; - WebGUI::Asset->newByDynamicClass($self->session, $rssFromParentId)->getUrl; + return undef unless $rssFromParentId; + my $rssAsset = WebGUI::Asset->newByDynamicClass($self->session, $rssFromParentId); + return undef unless $rssAsset; + return $rssAsset->getUrl; } #-------------------------------------------------------------------