From c471728ca4d5e5abd9eae4c9af953c43e9221fa9 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Fri, 20 May 2011 14:25:40 -0500 Subject: [PATCH] add metadata to assets inside an AssetReport Thanks to SquOnk for the patch. --- lib/WebGUI/Asset/Wobject/AssetReport.pm | 5 ++++- t/Asset/Wobject/AssetReport.t | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/AssetReport.pm b/lib/WebGUI/Asset/Wobject/AssetReport.pm index ee7164c2d..351654097 100644 --- a/lib/WebGUI/Asset/Wobject/AssetReport.pm +++ b/lib/WebGUI/Asset/Wobject/AssetReport.pm @@ -191,7 +191,10 @@ sub getTemplateVars { my $data = $p->getPageData; foreach my $row (@{$data}) { my $returnAsset = WebGUI::Asset->new($session,$row->{assetId},$row->{className},$row->{revisionDate}); - push(@{$var->{'asset_loop'}},$returnAsset->get); + push(@{$var->{'asset_loop'}}, { + %{$returnAsset->get}, + %{$returnAsset->getMetaDataAsTemplateVariables} + }); } #Append template variables diff --git a/t/Asset/Wobject/AssetReport.t b/t/Asset/Wobject/AssetReport.t index 16379cfbb..f880d49d8 100644 --- a/t/Asset/Wobject/AssetReport.t +++ b/t/Asset/Wobject/AssetReport.t @@ -88,6 +88,13 @@ $ar->update( { #---------------------------------------------------------------------------- # getTemplateVars +# Add a metadata variable to test +my $mdFieldId = $sn->addMetaDataField( undef, "TESTFIELD", undef, undef, "Text", ); +WebGUI::Test->addToCleanup( sub{ + WebGUI::Asset->getRoot( $session )->deleteMetaDataField( $mdFieldId ) +} ); +$sn->updateMetaData( $mdFieldId, "TESTVALUE" ); + cmp_deeply( $ar->getTemplateVars, hash( { @@ -118,7 +125,7 @@ cmp_deeply( 'pagination.isFirstPage' => ignore(), 'pagination.nextPageText' => ignore(), 'pagination.firstPage' => ignore(), - 'asset_loop' => [{ %{ $sn->get } }], + 'asset_loop' => [{ %{ $sn->get }, %{ $sn->getMetaDataAsTemplateVariables } }], } ), "getTemplateVars returns complete and correct data structure", );