From 4f003dc66877801e2f66d30641fbe0f75c8e9e47 Mon Sep 17 00:00:00 2001 From: ryounes Date: Thu, 24 Mar 2011 21:22:24 +0000 Subject: [PATCH] NIHVIVO-2309 Fix propStatement-educationalTraining.ftl to handle coming from propDelete, where individual is not defined in the data model --- .../webapp/controller/freemarker/IndividualController.java | 4 ++-- webapp/web/edit/forms/propDelete.jsp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) 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 8867a9f8d..185be0ca0 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 @@ -127,7 +127,7 @@ public class IndividualController extends FreemarkerHttpServlet { body.put("temporalVisualizationEnabled", getTemporalVisualizationFlag()); body.put("verbosePropertySwitch", getVerbosePropertyValues(vreq)); - IndividualTemplateModel itm = getIndividualTemplateModel(vreq, individual); + IndividualTemplateModel itm = getIndividualTemplateModel(individual, vreq); /* We need to expose non-getters in displaying the individual's property list, * since it requires calls to methods with parameters. * This is still safe, because we are only putting BaseTemplateModel objects @@ -248,7 +248,7 @@ public class IndividualController extends FreemarkerHttpServlet { return linkTag; } - private IndividualTemplateModel getIndividualTemplateModel(VitroRequest vreq, Individual individual) + private IndividualTemplateModel getIndividualTemplateModel(Individual individual, VitroRequest vreq) throws ServletException, IOException { IndividualDao iwDao = vreq.getWebappDaoFactory().getIndividualDao(); diff --git a/webapp/web/edit/forms/propDelete.jsp b/webapp/web/edit/forms/propDelete.jsp index cc7118c70..026e3d011 100644 --- a/webapp/web/edit/forms/propDelete.jsp +++ b/webapp/web/edit/forms/propDelete.jsp @@ -20,6 +20,7 @@ <%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils" %> <%@ page import="com.hp.hpl.jena.rdf.model.Model" %> <%@page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> +<%@page import="edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModel" %> <%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerConfigurationLoader"%> <%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet"%> <%@page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.TemplateProcessingHelper"%> @@ -116,6 +117,11 @@ public WebappDaoFactory getUnfilteredDaoFactory() { String statementDisplay = null; if (! statement.isEmpty()) { Map map = new HashMap(); + /* Some propStatements (propStatement-educationalTraining.ftl) make reference to the individual, + * but instead of adding it to the data model we'll test in the template for non-existence. IF + * this becomes more common, add it here instead. + */ + //map.put("individual", new IndividualTemplateModel(subject, vreq)); map.put("statement", statement); map.putAll(FreemarkerHttpServlet.getDirectives()); map.putAll(FreemarkerHttpServlet.getMethods());