From 156025d03c81e8f4aec48951a09b1a44f01c6a9c Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 18 Jun 2009 20:37:45 +0000 Subject: [PATCH] Tell Content/Asset that the paste status method did a redirect. --- lib/WebGUI/AssetBranch.pm | 133 +++++++++++++++++++++-------------- lib/WebGUI/AssetClipboard.pm | 2 +- 2 files changed, 81 insertions(+), 54 deletions(-) diff --git a/lib/WebGUI/AssetBranch.pm b/lib/WebGUI/AssetBranch.pm index edaa13f6e..a8be30c8d 100644 --- a/lib/WebGUI/AssetBranch.pm +++ b/lib/WebGUI/AssetBranch.pm @@ -246,54 +246,81 @@ Verifies proper inputs in the Asset Tree and saves them. Returns ManageAssets me =cut sub www_editBranchSave { - my $self = shift; - return $self->session->privilege->insufficient() unless ($self->canEdit && $self->session->user->isInGroup('4')); - my %data; - $data{isHidden} = $self->session->form->yesNo("isHidden") if ($self->session->form->yesNo("change_isHidden")); - $data{newWindow} = $self->session->form->yesNo("newWindow") if ($self->session->form->yesNo("change_newWindow")); - $data{encryptPage} = $self->session->form->yesNo("encryptPage") if ($self->session->form->yesNo("change_encryptPage")); - $data{ownerUserId} = $self->session->form->selectBox("ownerUserId") if ($self->session->form->yesNo("change_ownerUserId")); - $data{groupIdView} = $self->session->form->group("groupIdView") if ($self->session->form->yesNo("change_groupIdView")); - $data{groupIdEdit} = $self->session->form->group("groupIdEdit") if ($self->session->form->yesNo("change_groupIdEdit")); - $data{extraHeadTags} = $self->session->form->group("extraHeadTags") if ($self->session->form->yesNo("change_extraHeadTags")); + my $self = shift; + my $session = $self->session; + return $session->privilege->insufficient() unless ($self->canEdit && $session->user->isInGroup('4')); + my $pb = WebGUI::ProgressBar->new($session); + ##Need to set the URL that should be displayed when it is done + my $i18n = WebGUI::International->new($session, 'Asset'); + $pb->setIcon($session->url->extras('adminConsole/assets.gif')); + $session->log->warn($session->request->args()); + return $pb->render({ + title => $i18n->get('Paste Assets'), + statusUrl => $self->getUrl('func=editBranchSaveStatus'), + }); +} + + +#------------------------------------------------------------------- + +=head2 www_editBranchSaveStatus ( ) + +Verifies proper inputs in the Asset Tree and saves them. Returns ManageAssets method. If canEdit returns False, returns an insufficient privilege page. + +=cut + +sub www_editBranchSave { + my $self = shift; + my $session = $self->session; +return $session->privilege->insufficient() unless ($self->canEdit && $session->user->isInGroup('4')); + my $form = $session->form; + my %data; + $data{isHidden} = $form->yesNo("isHidden") if ($form->yesNo("change_isHidden")); + $data{newWindow} = $form->yesNo("newWindow") if ($form->yesNo("change_newWindow")); + $data{encryptPage} = $form->yesNo("encryptPage") if ($form->yesNo("change_encryptPage")); + $data{ownerUserId} = $form->selectBox("ownerUserId") if ($form->yesNo("change_ownerUserId")); + $data{groupIdView} = $form->group("groupIdView") if ($form->yesNo("change_groupIdView")); + $data{groupIdEdit} = $form->group("groupIdEdit") if ($form->yesNo("change_groupIdEdit")); + $data{extraHeadTags} = $form->group("extraHeadTags") if ($form->yesNo("change_extraHeadTags")); my %wobjectData = %data; - $wobjectData{displayTitle} = $self->session->form->yesNo("displayTitle") - if ($self->session->form->yesNo("change_displayTitle")); - $wobjectData{styleTemplateId} = $self->session->form->template("styleTemplateId") - if ($self->session->form->yesNo("change_styleTemplateId")); - $wobjectData{printableStyleTemplateId} = $self->session->form->template("printableStyleTemplateId") - if ($self->session->form->yesNo("change_printableStyleTemplateId")); - $wobjectData{mobileStyleTemplateId} = $self->session->form->template("mobileStyleTemplateId") - if ($self->session->form->yesNo("change_mobileStyleTemplateId")); - my ($urlBaseBy, $urlBase, $endOfUrl); - my $changeUrl = $self->session->form->yesNo("change_url"); - if ($changeUrl) { - $urlBaseBy = $self->session->form->selectBox("baseUrlBy"); - $urlBase = $self->session->form->text("baseUrl"); - $endOfUrl = $self->session->form->selectBox("endOfUrl"); - } - my $descendants = $self->getLineage(["self","descendants"],{returnObjects=>1}); - foreach my $descendant (@{$descendants}) { - next unless $descendant->canEdit; - my $url; - if ($changeUrl) { - if ($urlBaseBy eq "parentUrl") { - delete $descendant->{_parent}; - $data{url} = $descendant->getParent->get("url")."/"; - } elsif ($urlBaseBy eq "specifiedBase") { - $data{url} = $urlBase."/"; - } else { - $data{url} = ""; - } - if ($endOfUrl eq "menuTitle") { - $data{url} .= $descendant->get("menuTitle"); - } elsif ($endOfUrl eq "title") { - $data{url} .= $descendant->get("title"); - } else { - $data{url} .= $descendant->get("url"); - } + $wobjectData{displayTitle} = $form->yesNo("displayTitle") + if ($form->yesNo("change_displayTitle")); + $wobjectData{styleTemplateId} = $form->template("styleTemplateId") + if ($form->yesNo("change_styleTemplateId")); + $wobjectData{printableStyleTemplateId} = $form->template("printableStyleTemplateId") + if ($form->yesNo("change_printableStyleTemplateId")); + $wobjectData{mobileStyleTemplateId} = $form->template("mobileStyleTemplateId") + if ($form->yesNo("change_mobileStyleTemplateId")); + + my ($urlBaseBy, $urlBase, $endOfUrl); + my $changeUrl = $form->yesNo("change_url"); + if ($changeUrl) { + $urlBaseBy = $form->selectBox("baseUrlBy"); + $urlBase = $form->text("baseUrl"); + $endOfUrl = $form->selectBox("endOfUrl"); + } + my $descendants = $self->getLineage(["self","descendants"],{returnObjects=>1}); + DESCENDANT: foreach my $descendant (@{$descendants}) { + next DESCENDANT unless $descendant->canEdit; + my $url; + if ($changeUrl) { + if ($urlBaseBy eq "parentUrl") { + delete $descendant->{_parent}; + $data{url} = $descendant->getParent->get("url")."/"; + } elsif ($urlBaseBy eq "specifiedBase") { + $data{url} = $urlBase."/"; + } else { + $data{url} = ""; + } + if ($endOfUrl eq "menuTitle") { + $data{url} .= $descendant->get("menuTitle"); + } elsif ($endOfUrl eq "title") { + $data{url} .= $descendant->get("title"); + } else { + $data{url} .= $descendant->get("url"); + } $wobjectData{url} = $data{url}; - } + } my $newData = $descendant->isa('WebGUI::Asset::Wobject') ? \%wobjectData : \%data; my $revision; if (scalar %$newData > 0) { @@ -306,24 +333,24 @@ sub www_editBranchSave { else { $revision = $descendant; } - foreach my $form ($self->session->form->param) { + foreach my $form ($form->param) { if ($form =~ /^metadata_(.*)$/) { my $fieldName = $1; - if ($self->session->form->yesNo("change_metadata_".$fieldName)) { - $revision->updateMetaData($fieldName,$self->session->form->process($form)); + if ($form->yesNo("change_metadata_".$fieldName)) { + $revision->updateMetaData($fieldName,$form->process($form)); } } } - } + } if (WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session, { allowComments => 1, returnUrl => $self->getUrl, }) eq 'redirect') { return undef; }; - delete $self->{_parent}; - $self->session->asset($self->getParent); - return $self->getParent->www_manageAssets; + delete $self->{_parent}; + $self->session->asset($self->getParent); + return $self->getParent->www_manageAssets; } diff --git a/lib/WebGUI/AssetClipboard.pm b/lib/WebGUI/AssetClipboard.pm index 4615a901a..6766920d5 100644 --- a/lib/WebGUI/AssetClipboard.pm +++ b/lib/WebGUI/AssetClipboard.pm @@ -551,7 +551,7 @@ sub www_pasteListStatus { $self->paste($clipId); } $pb->redirect( $session->scratch->get('assetPasteReturnUrl') ); - return ""; + return "redirect"; }