From 271c1e9063056adc5f181314afad5e8035850d53 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Tue, 22 Oct 2013 14:11:11 -0400 Subject: [PATCH 01/12] updates for cancel link to accept parameter vivo-393 --- .../controller/PostEditCleanupController.java | 9 +++++ .../edit/EditConfigurationTemplateModel.java | 8 ++++- .../body/individual/individual-menu.ftl | 34 +++++++++---------- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java index 9c7d6b9a0..b62254878 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java @@ -55,6 +55,15 @@ public class PostEditCleanupController extends FreemarkerHttpServlet{ return new RedirectResponseValues( UrlBuilder.getHomeUrl() ); } + //In some cases, a generator/form may have a regular URL to return to but the same generator + //may be used from different pages, so a parameter allowing the form to return to a specific page + //would be useful + + String returnURLParameter = vreq.getParameter("returnURL"); + if(returnURLParameter != null) { + return new DirectRedirectResponseValues( returnURLParameter ); + } + // If there is a urlToReturnTo that takes precedence if( editConfig.getUrlToReturnTo() != null && ! editConfig.getUrlToReturnTo().trim().isEmpty()){ //this does not get value substitution or the predicate anchor diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java index fec05b51e..49b17fbe4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java @@ -666,7 +666,13 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { //this url is for canceling public String getCancelUrl() { String editKey = editConfig.getEditKey(); - return EditConfigurationUtils.getCancelUrlBase(vreq) + "?editKey=" + editKey + "&cancel=true"; + String cancelURL = EditConfigurationUtils.getCancelUrlBase(vreq) + "?editKey=" + editKey + "&cancel=true"; + //Check for special return url parameter + String returnURLParameter = vreq.getParameter("returnURL"); + if(returnURLParameter != null && !returnURLParameter.isEmpty() ) { + cancelURL += "&returnURL=" + returnURLParameter; + } + return cancelURL; } //Get confirm deletion url diff --git a/webapp/web/templates/freemarker/body/individual/individual-menu.ftl b/webapp/web/templates/freemarker/body/individual/individual-menu.ftl index 2099c0c96..40a901d1b 100644 --- a/webapp/web/templates/freemarker/body/individual/individual-menu.ftl +++ b/webapp/web/templates/freemarker/body/individual/individual-menu.ftl @@ -5,8 +5,7 @@ <#include "individual-setup.ftl"> <#assign hasElement = propertyGroups.pullProperty("${namespaces.display}hasElement")!> - -<#assign addNewMenuItemUrl = "${urls.base}/menuManagementController?cmd=add" > +<#assign returnURL = "/vivo/individual?uri=http%3A%2F%2Fvitro.mannlib.cornell.edu%2Fontologies%2Fdisplay%2F1.1%23DefaultMenu&switchToDisplayModel=true" /> <#if hasElement?has_content>