Add another error message to FileUrl so that it's clear that there

are no files, rather than the wrong URL.
Update Page macro docs to show it works on _any_ asset, not just Pages.
This commit is contained in:
Colin Kuskie 2006-07-21 16:10:11 +00:00
parent 1fe73fa764
commit 2b03fdc73d
3 changed files with 9 additions and 5 deletions

View file

@ -43,16 +43,15 @@ sub process {
my $session = shift;
my $url = shift;
my $asset = WebGUI::Asset->newByUrl($session,$url);
my $i18n = WebGUI::International->new($session, 'Macro_FileUrl');
if (not defined $asset) {
$session->errorHandler->warn("^FileUrl($url): asset not found");
my $i18n = WebGUI::International->new($session, 'Macro_FileUrl');
return $i18n->get('invalid url');
}
my $storageId = $asset->get('storageId');
if (not defined $storageId) {
$session->errorHandler->warn("^FileUrl($url): asset is not a file");
my $i18n = WebGUI::International->new($session, 'Macro_FileUrl');
return $i18n->get('invalid url');
return $i18n->get('no storage');
}
my $storage = WebGUI::Storage->get($session,$storageId);
return $storage->getUrl($asset->get("filename"));

View file

@ -26,6 +26,11 @@ This macro is used to return a filesystem URL to a File or Image Asset identifie
lastUpdated => 1134855446,
},
'no storage' => {
message => q|The Asset you requested does not store files.|,
lastUpdated => 1153498370,
},
};
1;

View file

@ -19,9 +19,9 @@ our $I18N = {
This can be used to retrieve information about the current asset. For instance it could be used to get the page URL like this ^Page("urlizedTitle"); or to get the menu title like this ^Page("menuTitle");. If the macro is called outside the context of
an asset, or if the property doesn't exist, then it returns nothing.
</p>
<p>Properties available for retrieval depend on the type of asset that is being queried.</p>
|,
lastUpdated => 1153177069,
lastUpdated => 1153339253,
},
};