Allow any Asset to use the proceed=goBackToPage;returnUrl=url url parameter coda.

This commit is contained in:
Colin Kuskie 2009-06-04 21:26:43 +00:00
parent 957c0bc2fe
commit 9d5f979c15
2 changed files with 18 additions and 6 deletions

View file

@ -28,6 +28,7 @@
- fixed #10095: Widget Macro (syndication) - templateing broken - fixed #10095: Widget Macro (syndication) - templateing broken
- fixed #10473: Fwd: Album Bug? - fixed #10473: Fwd: Album Bug?
- fixed #10088: ##userPref:firstName## doesn't work in Dashboard - fixed #10088: ##userPref:firstName## doesn't work in Dashboard
- fixed: allow any Asset to use the proceed=goBackToPage;returnUrl url parameter coda
7.7.8 7.7.8
- fixed: Basic Auth doesn't work if password contains colon (Arjan Widlak, - fixed: Basic Auth doesn't work if password contains colon (Arjan Widlak,

View file

@ -892,11 +892,17 @@ sub getEditForm {
$ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago); $ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago);
} }
} }
if ($session->form->process("proceed")) { if (my $proceed = $session->form->process("proceed")) {
$tabform->hidden({ $tabform->hidden({
name=>"proceed", name=>"proceed",
value=>$self->session->form->process("proceed") value=>$proceed,
}); });
if (my $returnUrl = $session->form->process('returnUrl')) {
$tabform->hidden({
name=>"returnUrl",
value=>$returnUrl,
});
}
} }
# create tabs # create tabs
@ -2728,15 +2734,20 @@ sub www_editSave {
} }
# Handle "proceed" form parameter # Handle "proceed" form parameter
if ($self->session->form->process("proceed") eq "manageAssets") { my $proceed = $self->session->form->process('proceed');
if ($proceed eq "manageAssets") {
$self->session->asset($object->getParent); $self->session->asset($object->getParent);
return $self->session->asset->www_manageAssets; return $self->session->asset->www_manageAssets;
} }
elsif ($self->session->form->process("proceed") eq "viewParent") { elsif ($proceed eq "viewParent") {
$self->session->asset($object->getParent); $self->session->asset($object->getParent);
return $self->session->asset->www_view; return $self->session->asset->www_view;
} }
elsif ($self->session->form->process("proceed") ne "") { elsif ($proceed eq "goBackToPage" && $self->session->form->process('returnUrl')) {
$self->session->http->setRedirect($self->session->form->process("returnUrl"));
return undef;
}
elsif ($proceed ne "") {
my $method = "www_".$self->session->form->process("proceed"); my $method = "www_".$self->session->form->process("proceed");
$self->session->asset($object); $self->session->asset($object);
return $self->session->asset->$method(); return $self->session->asset->$method();