From be259d803ce99f8a4ef92961bfd3d83826722937 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Sat, 5 Jun 2010 22:25:18 -0700 Subject: [PATCH] Fix problems with assetExportHtml. The method needs to be rethought, and make check that one exists before calling it via can/DOES. Fix a problem with duplicating the session, since duplicate is not a class method. --- lib/WebGUI/Asset/Wobject/StoryArchive.pm | 2 +- lib/WebGUI/Role/Asset/RssFeed.pm | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/StoryArchive.pm b/lib/WebGUI/Asset/Wobject/StoryArchive.pm index c33fa526f..d11f62f88 100644 --- a/lib/WebGUI/Asset/Wobject/StoryArchive.pm +++ b/lib/WebGUI/Asset/Wobject/StoryArchive.pm @@ -196,7 +196,7 @@ sub exportAssetCollateral { } # open another session to handle printing... - my $printSession = WebGUI::Session->duplicate; + my $printSession = $self->session->duplicate; my $keywordObj = WebGUI::Keyword->new($printSession); my $keywords = $keywordObj->findKeywords({ diff --git a/lib/WebGUI/Role/Asset/RssFeed.pm b/lib/WebGUI/Role/Asset/RssFeed.pm index c3c6216b8..34b776524 100644 --- a/lib/WebGUI/Role/Asset/RssFeed.pm +++ b/lib/WebGUI/Role/Asset/RssFeed.pm @@ -165,9 +165,10 @@ The session doing the full export. Can be used to report status messages. =cut -sub exportAssetCollateral { +around exportAssetCollateral => sub { # Lots of copy/paste here from AssetExportHtml.pm, since none of the methods there were # directly useful without ginormous refactoring. + my $orig = shift; my $self = shift; my $basepath = shift; my $args = shift; @@ -209,7 +210,7 @@ sub exportAssetCollateral { $reportSession->output->print( '      ' . $message . '
'); } - my $exportSession = WebGUI::Session->duplicate; + my $exportSession = $self->session->duplicate; # open another session as the user doing the exporting... my $selfdupe = WebGUI::Asset->newById( $exportSession, $self->getId ); @@ -242,8 +243,8 @@ sub exportAssetCollateral { $reportSession->output->print($reporti18n->get('done')); } } - return $self->next::method($basepath, $args, $reportSession); -} + return $self->$orig(@_); +}; #-------------------------------------------------------------------