From c1372d5cc255e6992aa9ae67bcef36a162a322e6 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Mon, 29 Nov 2010 15:24:47 +0000 Subject: [PATCH] Change non-static requiresLoginLevel() methods to call the static method directly, rather than just referencing the same field. --- .../freemarker/FreemarkerComponentGenerator.java | 1 + .../webapp/controller/freemarker/IndividualController.java | 7 ------- .../controller/freemarker/RevisionInfoController.java | 2 +- .../webapp/controller/freemarker/SiteAdminController.java | 6 +++++- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java index 37ee89911..dbb37c461 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java @@ -54,6 +54,7 @@ public class FreemarkerComponentGenerator extends FreemarkerHttpServlet { // RY We need the servlet context in getConfig(). For some reason using the method inherited from // GenericServlet bombs. + @Override public ServletContext getServletContext() { return context; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java index fd17b01ed..dfa3f1b8b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java @@ -134,13 +134,6 @@ public class IndividualController extends FreemarkerHttpServlet { EditSubmission.clearAllEditSubmissionsInSession(session); } - // Set template values related to access privileges - // RY We may want to define an EditingIndividualTemplateModel class, with methods like getAdminPanel() and - // getEditLinks(property). The constructor would take an individual and a loginFormBean object, both of which - // are needed to generate property edit links. Another idea is to subclass IndividualTemplateModel with - // EditableIndividualTemplateModel, and define editing-related methods there. However, that means in the - // template we will have expressions like individual.adminPanel or individual.editingLinks(property), - // which might seem opaque to template authors. private Map getEditingData(VitroRequest vreq) { LoginStatusBean loginBean = LoginStatusBean.getBean(vreq); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java index 31aa537cb..bea5deae4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java @@ -32,7 +32,7 @@ public class RevisionInfoController extends FreemarkerHttpServlet { @Override protected int requiredLoginLevel() { - return REQUIRED_LOGIN_LEVEL; + return staticRequiredLoginLevel(); } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java index b91075f5e..1d31aebba 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java @@ -46,7 +46,7 @@ public class SiteAdminController extends FreemarkerHttpServlet { @Override protected int requiredLoginLevel() { - return REQUIRED_LOGIN_LEVEL; + return staticRequiredLoginLevel(); } @Override @@ -61,6 +61,10 @@ public class SiteAdminController extends FreemarkerHttpServlet { body.put("dataInput", getDataInputData(vreq)); + // rjy7 There is a risk that the login levels required to show the links will get out + // of step with the levels required by the pages themselves. We should implement a + // mechanism similar to what's used on the front end to display links to Site Admin + // and Revision Info iff the user has access to those pages. if (loginBean.isLoggedInAtLeast(LoginStatusBean.CURATOR)) { body.put("siteConfig", getSiteConfigurationData(vreq, urlBuilder)); body.put("ontologyEditor", getOntologyEditorData(vreq, urlBuilder));