diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index b80c8d5af..287e62ba5 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -10,6 +10,7 @@ - fixed #11444: Strange spectre problem - fixed #10189: pbworkflow000000000007 Hanging - fixed #11526: Wrong log error in file AssetClipboard.pm + - fixed #11525: Paste assets inside CS 7.9.2 - added: Workflow to extend recurring Calendar events 2 years from the diff --git a/lib/WebGUI/Asset/Wobject/Calendar.pm b/lib/WebGUI/Asset/Wobject/Calendar.pm index 6584e903a..a3884e4ae 100644 --- a/lib/WebGUI/Asset/Wobject/Calendar.pm +++ b/lib/WebGUI/Asset/Wobject/Calendar.pm @@ -298,27 +298,6 @@ sub definition { #---------------------------------------------------------------------------- -=head2 addChild ( properties [, more ] ) - -Only allows Events to be added as a child of this asset. - -=cut - -sub addChild { - my $self = shift; - my $properties = shift; - my @other = @_; - - if ($properties->{className} ne "WebGUI::Asset::Event") { - $self->session->errorHandler->security("add a ".$properties->{className}." to a ".$self->get("className")); - return undef; - } - - return $self->SUPER::addChild($properties, @other); -} - -#---------------------------------------------------------------------------- - =head2 addFeed ( $feedParams ) Adds a new Feed to this calendar. This is a wrapper around WebGUI::JSONCollateral's setJSONCollateral diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm index be9f57f90..deff387e6 100644 --- a/lib/WebGUI/Asset/Wobject/Collaboration.pm +++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm @@ -62,26 +62,6 @@ sub _visitorCacheOk { && !$self->session->form->process('sortBy')); } -#------------------------------------------------------------------- - -=head2 addChild - -Extend the base method to allow only Threads as children. - -=cut - -sub addChild { - my $self = shift; - my $properties = shift; - my @other = @_; - if ($properties->{className} ne "WebGUI::Asset::Post::Thread") { - $self->session->errorHandler->security("add a ".$properties->{className}." to a ".$self->get("className")); - return undef; - } - return $self->next::method($properties, @other); -} - - #------------------------------------------------------------------- =head2 appendPostListTemplateVars ($var, $p) diff --git a/lib/WebGUI/Asset/Wobject/Gallery.pm b/lib/WebGUI/Asset/Wobject/Gallery.pm index 46070fe17..1374dff07 100644 --- a/lib/WebGUI/Asset/Wobject/Gallery.pm +++ b/lib/WebGUI/Asset/Wobject/Gallery.pm @@ -345,34 +345,6 @@ sub definition { #---------------------------------------------------------------------------- -=head2 addChild ( properties, [...] ) - -Add a child to this asset. See C for more info. - -Overridden to ensure that only GalleryAlbums are added to Galleries. - -=cut - -sub addChild { - my $self = shift; - my $properties = shift; - my $albumClass = "WebGUI::Asset::Wobject::GalleryAlbum"; - - # Load the class - WebGUI::Pluggable::load( $properties->{className} ); - - if ( !$properties->{className}->isa( $albumClass ) ) { - $self->session->errorHandler->security( - "add a ".$properties->{className}." to a ".$self->get("className") - ); - return undef; - } - - return $self->next::method( $properties, @_ ); -} - -#---------------------------------------------------------------------------- - =head2 appendTemplateVarsSearchForm ( var ) Appends the template vars for the search form to the hash reference C. diff --git a/lib/WebGUI/Asset/Wobject/GalleryAlbum.pm b/lib/WebGUI/Asset/Wobject/GalleryAlbum.pm index 35d83a0ff..0a33beb9a 100644 --- a/lib/WebGUI/Asset/Wobject/GalleryAlbum.pm +++ b/lib/WebGUI/Asset/Wobject/GalleryAlbum.pm @@ -174,37 +174,6 @@ sub addArchive { #---------------------------------------------------------------------------- -=head2 addChild ( properties [, ... ] ) - -Add a child to this GalleryAlbum. See C for more info. - -Override to ensure only appropriate classes get added to GalleryAlbums. - -=cut - -sub addChild { - my $self = shift; - my $properties = shift; - my $fileClass = 'WebGUI::Asset::File::GalleryFile'; - - # Load the class - WebGUI::Pluggable::load( $properties->{className} ); - - # Make sure we only add appropriate child classes - if ( !$properties->{className}->isa( $fileClass ) - && !$properties->{ className }->isa( "WebGUI::Asset::Shortcut" ) - ) { - $self->session->errorHandler->security( - "add a ".$properties->{className}." to a ".$self->get("className") - ); - return undef; - } - - return $self->next::method( $properties, @_ ); -} - -#---------------------------------------------------------------------------- - =head2 appendTemplateVarsFileLoop ( vars, assetIds ) Append template vars for a file loop for the specified assetIds. C is diff --git a/t/Asset/Wobject/Calendar.t b/t/Asset/Wobject/Calendar.t index 0497a2260..f678ef6cf 100644 --- a/t/Asset/Wobject/Calendar.t +++ b/t/Asset/Wobject/Calendar.t @@ -57,7 +57,7 @@ use Data::Dumper; use WebGUI::Asset::Wobject::Calendar; use WebGUI::Asset::Event; -plan tests => 14 + scalar @icalWrapTests; +plan tests => 12 + scalar @icalWrapTests; my $session = WebGUI::Test->session; @@ -82,10 +82,6 @@ isa_ok($cal, 'WebGUI::Asset::Wobject::Calendar'); my $event = $cal->addChild({className=>'WebGUI::Asset::Event'}); isa_ok($event, 'WebGUI::Asset::Event','Can add Events as a child to the calendar.'); -my $article = $cal->addChild({className=>"WebGUI::Asset::Wobject::Article"}); -isnt(ref $article, 'WebGUI::Asset::Wobject::Article', "Can't add an article as a child to the calendar."); -ok(! defined $article, '... addChild returned undef'); - my $dt = WebGUI::DateTime->new($session, mysql => '2001-08-16 8:00:00', time_zone => 'America/Chicago'); my $vars = {}; @@ -270,10 +266,6 @@ is(scalar @{ $windowCal->getLineage(['children'])}, 13, 'added events to the win my @window = $windowCal->getEventsIn($startDt->toDatabase, $endDt->toDatabase); -#note $startDt->toDatabase; -#note join "\n", map { join ' ', $_->get('title'), $_->get('startDate'), $_->get('startTime')} @window; -#note $endDt->toDatabase; - cmp_bag( [ map { $_->get('title') } @window ], [ map { $_->get('title') } @@ -503,9 +495,6 @@ my $listCal = $node->addChild({ $allDayDt = $bday->cloneToUserTimeZone->truncate( to => 'day' ); my $prevDayDt = $bday->cloneToUserTimeZone->truncate( to => 'day' )->subtract(days => 1)->add(hours => 19); -note $allDayDt->toDatabase; -note $prevDayDt->toDatabase; - $allDay = $listCal->addChild({ className => 'WebGUI::Asset::Event', title => 'An event with explicit times that lasts all day',