move createShortcut to an assetHelper

This commit is contained in:
Doug Bell 2011-02-23 16:36:34 -06:00
parent 3dbb9815f6
commit 8650e714b5
4 changed files with 165 additions and 0 deletions

View file

@ -1204,6 +1204,10 @@ sub getHelpers {
class => 'WebGUI::AssetHelper::CopyBranch',
label => 'Copy Branch',
},
{
class => 'WebGUI::AssetHelper::CreateShortcut',
label => 'Create Shortcut',
},
{
class => 'WebGUI::AssetHelper::Cut',
label => 'Cut',

View file

@ -0,0 +1,82 @@
package WebGUI::AssetHelper::CreateShortcut;
use strict;
use Class::C3;
use base qw/WebGUI::AssetHelper/;
=head1 LEGAL
-------------------------------------------------------------------
WebGUI is Copyright 2001-2009 Plain Black Corporation.
-------------------------------------------------------------------
Please read the legal notices (docs/legal.txt) and the license
(docs/license.txt) that came with this distribution before using
this software.
-------------------------------------------------------------------
http://www.plainblack.com info@plainblack.com
-------------------------------------------------------------------
=head1 NAME
Package WebGUI::AssetHelper::CreateShortcut
=head1 DESCRIPTION
Create a shortcut to the asset and put it on the clipboard
=head1 METHODS
These methods are available from this class:
=cut
#-------------------------------------------------------------------
=head2 process ( $class, $asset )
Create a shortcut to the asset on the clipboard.
=cut
sub process {
my ($class, $asset) = @_;
my $session = $asset->session;
my $i18n = WebGUI::International->new( $session, 'WebGUI' );
return { error => $i18n->get('39') } if !$asset->canView;
my $import = WebGUI::Asset->getImportNode( $session );
my $tag = WebGUI::VersionTag->getWorking( $session );
my $child = $import->addChild({
tagId => $tag->getId,
status => 'pending',
className => 'WebGUI::Asset::Shortcut',
shortcutToAssetId => $asset->getId,
title => $asset->getTitle,
menuTitle => $asset->getMenuTitle,
isHidden => $asset->isHidden,
newWindow => $asset->newWindow,
ownerUserId => $asset->ownerUserId,
groupIdEdit => $asset->groupIdEdit,
groupIdView => $asset->groupIdView,
url => $asset->title,
templateId => 'PBtmpl0000000000000140',
});
$child->cut;
if (WebGUI::VersionTag->autoCommitWorkingIfEnabled($session, {
allowComments => 1,
returnUrl => $asset->getUrl,
}) eq 'redirect') {
return {
message => $i18n->get('shortcut created'),
redirect => $session->request->location,
};
};
return {
message => $i18n->get('shortcut created'),
};
}
1;

View file

@ -4720,6 +4720,12 @@ Users may override this setting in their profile.
lastUpdated => 0,
context => q{Label for button to log out.},
},
'shortcut created' => {
message => q{Shortcut created},
lastUpdated => 0,
context => q{Message after a shortcut is created successfully},
},
};
1;