From 03181810d6fd8aa2e620b8cb5829155fc949b068 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Thu, 29 May 2008 18:39:13 +0000 Subject: [PATCH] missed some things --- docs/changelog/7.x.x.txt | 4 ++++ lib/WebGUI/Asset.pm | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 425c7acfb..474bb9bcb 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -72,6 +72,10 @@ - fixed: CS mail retrieval doesn't decode subject properly - fixed: email password recovery fields effected by UI level - Complete rewrite of the Asset Manager + - added more keys to the list of bad EXIF keys. + - fixed issue where bad EXIF keys would kill the entire album + - Added more variables for Photo Resolutions + - Added better handling of Pending albums and photos - added: Database link access for SQL Macro (Yung Han Khoe) 7.5.10 diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index f61358ace..c4207d966 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1473,16 +1473,14 @@ sub new { my $session = shift; my $assetId = shift; my $className = shift; - my $revisionDate = shift || $class->getCurrentRevisionDate($session, $assetId); + my $revisionDate = shift; unless (defined $assetId) { $session->errorHandler->error("Asset constructor new() requires an assetId."); return undef; } - return undef unless ($revisionDate); - - unless ($class ne 'WebGUI::Asset' or defined $className) { + if ($class eq 'WebGUI::Asset' && !$className) { ($className) = $session->db->quickArray("select className from asset where assetId=?", [$assetId]); unless ($className) { $session->errorHandler->error("Couldn't instantiate asset: ".$assetId. ": couldn't find class name"); @@ -1494,7 +1492,14 @@ sub new { $class = $class->loadModule($session, $className); return undef unless (defined $class); } - + + if ( !$revisionDate ) { + $revisionDate = $className + ? $className->getCurrentRevisionDate( $session, $assetId ) + : $class->getCurrentRevisionDate( $session, $assetId ); + return undef unless $revisionDate; + } + my $cache = WebGUI::Cache->new($session, ["asset",$assetId,$revisionDate]); my $properties = $cache->get; if (exists $properties->{assetId}) {