Final state and status fixes.
In these three files, any check for status=archived was removed, since in each case it is possible that the Asset may want to be viewable when it is archived, like Files, Posts, etc. Updated Session/Url.t to remove tests for status=archived.
This commit is contained in:
parent
865c1d315b
commit
256b52a0d7
4 changed files with 22 additions and 19 deletions
|
|
@ -288,7 +288,7 @@ sub checkView {
|
||||||
$http->setRedirect($self->getUrl("func=manageClipboard"));
|
$http->setRedirect($self->getUrl("func=manageClipboard"));
|
||||||
return "redirect";
|
return "redirect";
|
||||||
}
|
}
|
||||||
elsif ($self->get("state") ne "published" && $self->get("state") ne "archived") { # tell em it doesn't exist anymore
|
elsif ($self->get("state") ne "published") { # tell em it doesn't exist anymore
|
||||||
$http->setStatus("410");
|
$http->setStatus("410");
|
||||||
my $notFound = WebGUI::Asset->getNotFound($self->session);
|
my $notFound = WebGUI::Asset->getNotFound($self->session);
|
||||||
$self->session->asset($notFound);
|
$self->session->asset($notFound);
|
||||||
|
|
|
||||||
|
|
@ -470,16 +470,15 @@ sub www_view {
|
||||||
return $self->session->privilege->noAccess() unless $self->canView;
|
return $self->session->privilege->noAccess() unless $self->canView;
|
||||||
|
|
||||||
# Check to make sure it's not in the trash or some other weird place
|
# Check to make sure it's not in the trash or some other weird place
|
||||||
my $state = $self->get("state");
|
if ($self->get("state") ne "published") {
|
||||||
if ($state ne "published" && $state ne "archived") {
|
|
||||||
my $i18n = WebGUI::International->new($self->session,'Asset_File');
|
my $i18n = WebGUI::International->new($self->session,'Asset_File');
|
||||||
$self->session->http->setStatus("404");
|
$self->session->http->setStatus("404");
|
||||||
return sprintf($i18n->get("file not found"), $self->getUrl());
|
return sprintf($i18n->get("file not found"), $self->getUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->session->http->setRedirect($self->getFileUrl);
|
$self->session->http->setRedirect($self->getFileUrl);
|
||||||
$self->session->http->setStreamedFile($self->getStorageLocation->getPath($self->get("filename")));
|
$self->session->http->setStreamedFile($self->getStorageLocation->getPath($self->get("filename")));
|
||||||
return 'chunked';
|
return 'chunked';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -200,9 +200,14 @@ sub getBackToSiteURL {
|
||||||
my $media = WebGUI::Asset->getMedia($self->session);
|
my $media = WebGUI::Asset->getMedia($self->session);
|
||||||
my $mediaLineage = $media->get("lineage");
|
my $mediaLineage = $media->get("lineage");
|
||||||
my $assetLineage = $self->session->asset->get("lineage");
|
my $assetLineage = $self->session->asset->get("lineage");
|
||||||
if ($assetLineage =~ /^$importNodeLineage/ || $assetLineage eq "000001" || $assetLineage =~ /^$mediaLineage/ || ($self->session->asset->get("state") ne "published" && $self->session->asset->get("state") ne "archived")) {
|
if ( $assetLineage =~ /^$importNodeLineage/
|
||||||
|
|| $assetLineage eq "000001"
|
||||||
|
|| $assetLineage =~ /^$mediaLineage/
|
||||||
|
|| $self->session->asset->get("state") ne "published" ##Parent state is okay be definition
|
||||||
|
) {
|
||||||
$url = WebGUI::Asset->getDefault($self->session)->getUrl;
|
$url = WebGUI::Asset->getDefault($self->session)->getUrl;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$url = $self->session->asset->getContainer->getUrl;
|
$url = $self->session->asset->getContainer->getUrl;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -325,8 +325,6 @@ is($session->url->getBackToSiteURL, '/goBackToTheSite', 'getBackToSiteURL: when
|
||||||
$session->asset($sessionAsset);
|
$session->asset($sessionAsset);
|
||||||
is($session->url->getBackToSiteURL, $session->asset->getUrl, q!getBackToSiteURL: for most regular old assets, it takes you back to the asset's container!);
|
is($session->url->getBackToSiteURL, $session->asset->getUrl, q!getBackToSiteURL: for most regular old assets, it takes you back to the asset's container!);
|
||||||
|
|
||||||
my $versionTag = WebGUI::VersionTag->getWorking($session);
|
|
||||||
|
|
||||||
my $defaultAssetUrl = WebGUI::Asset->getDefault($session)->getUrl;
|
my $defaultAssetUrl = WebGUI::Asset->getDefault($session)->getUrl;
|
||||||
|
|
||||||
$session->asset( WebGUI::Asset->getImportNode($session) );
|
$session->asset( WebGUI::Asset->getImportNode($session) );
|
||||||
|
|
@ -356,15 +354,10 @@ TODO: {
|
||||||
ok(0, 'test a child of the media folder');
|
ok(0, 'test a child of the media folder');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $versionTag = WebGUI::VersionTag->getWorking($session);
|
||||||
my $statefulAsset = WebGUI::Asset->getRoot($session)->addChild({ className => 'WebGUI::Asset::Snippet' });
|
my $statefulAsset = WebGUI::Asset->getRoot($session)->addChild({ className => 'WebGUI::Asset::Snippet' });
|
||||||
|
$versionTag->commit;
|
||||||
$statefulAsset->{_properties}{state} = 'archived';
|
|
||||||
$session->asset( $statefulAsset );
|
$session->asset( $statefulAsset );
|
||||||
is(
|
|
||||||
$session->url->getBackToSiteURL,
|
|
||||||
WebGUI::Asset->getRoot($session)->getUrl,
|
|
||||||
q!getBackToSiteURL: When asset state is archived, it returns you to the Asset's container!
|
|
||||||
);
|
|
||||||
|
|
||||||
$statefulAsset->{_properties}{state} = 'published';
|
$statefulAsset->{_properties}{state} = 'published';
|
||||||
is(
|
is(
|
||||||
|
|
@ -373,12 +366,18 @@ is(
|
||||||
q!getBackToSiteURL: When asset state is published, it returns you to the Asset's container!
|
q!getBackToSiteURL: When asset state is published, it returns you to the Asset's container!
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
$statefulAsset->{_properties}{state} = 'trash';
|
$statefulAsset->{_properties}{state} = 'trash';
|
||||||
is(
|
is(
|
||||||
$session->url->getBackToSiteURL,
|
$session->url->getBackToSiteURL,
|
||||||
$defaultAssetUrl,
|
$defaultAssetUrl,
|
||||||
q!getBackToSiteURL: When asset state is not archived or published, it returns you to the default Asset!
|
q!getBackToSiteURL: When asset state is trash, it returns you to the default Asset!
|
||||||
|
);
|
||||||
|
|
||||||
|
$statefulAsset->{_properties}{state} = 'clipboard';
|
||||||
|
is(
|
||||||
|
$session->url->getBackToSiteURL,
|
||||||
|
$defaultAssetUrl,
|
||||||
|
q!getBackToSiteURL: When asset state is clipboard, it returns you to the default Asset!
|
||||||
);
|
);
|
||||||
|
|
||||||
END { ##Always clean-up
|
END { ##Always clean-up
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue