rfe: choice of type of redirect on redirect assets
This commit is contained in:
parent
fc7fbfbd0c
commit
6e04c4b705
5 changed files with 85 additions and 30 deletions
|
|
@ -67,27 +67,29 @@ sub definition {
|
|||
tableName=>'redirect',
|
||||
className=>'WebGUI::Asset::Redirect',
|
||||
properties=>{
|
||||
redirectUrl=>{
|
||||
tab=>"properties",
|
||||
label=>$i18n->get('redirect url'),
|
||||
hoverHelp=>$i18n->get('redirect url description'),
|
||||
fieldType=>'url',
|
||||
defaultValue=>undef
|
||||
}
|
||||
}
|
||||
});
|
||||
redirectUrl=>{
|
||||
tab => "properties",
|
||||
label => $i18n->get('redirect url'),
|
||||
hoverHelp => $i18n->get('redirect url description'),
|
||||
fieldType => 'url',
|
||||
defaultValue => undef
|
||||
},
|
||||
redirectType=>{
|
||||
tab => "properties",
|
||||
label => $i18n->get('Redirect Type'),
|
||||
hoverHelp => $i18n->get('redirect type description'),
|
||||
fieldType => 'selectBox',
|
||||
defaultValue => 302,
|
||||
options => {
|
||||
302 => $i18n->get('302 Moved Temporarily'),
|
||||
301 => $i18n->get('301 Moved Permanently'),
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
return $class->SUPER::definition($session,$definition);
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_edit {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
return $self->session->privilege->locked() unless $self->canEditIfLocked;
|
||||
return $self->getAdminConsole->render($self->getEditForm->print, $self->addEditLabel);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 exportHtml_view
|
||||
|
|
@ -108,6 +110,32 @@ sub exportHtml_view {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 view ( )
|
||||
|
||||
Display the redirect url when in admin mode.
|
||||
|
||||
=cut
|
||||
|
||||
sub view {
|
||||
my $self = shift;
|
||||
if ($self->session->var->get("adminOn")) {
|
||||
return $self->getToolbar.' '.$self->getTitle.' '.$self->get('redirectUrl');
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_edit {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
return $self->session->privilege->locked() unless $self->canEditIfLocked;
|
||||
return $self->getAdminConsole->render($self->getEditForm->print, $self->addEditLabel);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_view
|
||||
|
||||
A web executable method that redirects the user to the specified page, or displays the edit interface when admin mode is enabled.
|
||||
|
|
@ -129,7 +157,7 @@ sub www_view {
|
|||
</ul>',$i18n->get("assetName"));
|
||||
}
|
||||
unless ($url eq $self->get("url")) {
|
||||
$self->session->http->setRedirect($url);
|
||||
$self->session->http->setRedirect($url,$self->get('redirectType'));
|
||||
return undef;
|
||||
}
|
||||
return $i18n->get('self_referential');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue