From 4de612a306a3dbbe5dd2f0ac486c04f666c6db1c Mon Sep 17 00:00:00 2001 From: hjkhjk54 Date: Fri, 16 Dec 2011 19:31:49 +0000 Subject: [PATCH] updates for NIHVIVO-3517 "Template exception thrown when deleting either hasEditorRole or hasReviewerRole properties". Updated EditConfigurationTemplateModel to return ObjectPropertyTemplateModel representing property and Freemarker template to assign that object to the variable "property" so the list view for reviewer/editor would work correctly. --- .../edit/EditConfigurationTemplateModel.java | 20 ++++++++++++------- .../individual/EditingPolicyHelper.java | 2 +- .../ObjectPropertyTemplateModel.java | 2 +- .../edit/forms/confirmDeletePropertyForm.ftl | 2 ++ 4 files changed, 17 insertions(+), 9 deletions(-) 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 e5ce99b17..bda888656 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 @@ -40,6 +40,7 @@ import edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.DataPropertyStatementTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.EditingPolicyHelper; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.ObjectPropertyStatementTemplateModel; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.ObjectPropertyTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.PropertyStatementTemplateModel; import freemarker.ext.beans.BeansWrapper; import freemarker.template.DefaultObjectWrapper; @@ -457,13 +458,18 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { null, null, vreq); ReadOnlyBeansWrapper wrapper = new ReadOnlyBeansWrapper(); return wrapper.wrap(osm); - /* TemplateModel tm = null; - try { - tm = wrapper.wrap(osm); - } catch(Exception ex) { - log.error("Error occurred in wrapping object property statement model", ex); - } - return tm;*/ + } + + //HasEditor and HasReviewer Roles also expect the Property template model to be passed + public TemplateModel getObjectPropertyStatementDisplayPropertyModel() throws TemplateModelException { + Individual subject = EditConfigurationUtils.getSubjectIndividual(vreq); + ObjectProperty op = EditConfigurationUtils.getObjectProperty(vreq); + List propList = new ArrayList(); + propList.add(op); + EditingPolicyHelper policyHelper = new EditingPolicyHelper(vreq); + ObjectPropertyTemplateModel otm = ObjectPropertyTemplateModel.getObjectPropertyTemplateModel(op, subject, vreq, policyHelper,propList); + ReadOnlyBeansWrapper wrapper = new ReadOnlyBeansWrapper(); + return wrapper.wrap(otm); } public String getDataStatementDisplay() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/EditingPolicyHelper.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/EditingPolicyHelper.java index e06f43c49..203b5a41b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/EditingPolicyHelper.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/EditingPolicyHelper.java @@ -20,7 +20,7 @@ public class EditingPolicyHelper { private final PolicyIface policy; private final IdentifierBundle ids; - protected EditingPolicyHelper(VitroRequest vreq) { + public EditingPolicyHelper(VitroRequest vreq) { this.policy = RequestPolicyList.getPolicies(vreq); this.ids = RequestIdentifiers.getIdBundleForRequest(vreq); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java index 1d0bcbce6..096d601f7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java @@ -208,7 +208,7 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel return object; } - protected static ObjectPropertyTemplateModel getObjectPropertyTemplateModel(ObjectProperty op, + public static ObjectPropertyTemplateModel getObjectPropertyTemplateModel(ObjectProperty op, Individual subject, VitroRequest vreq, EditingPolicyHelper policyHelper, List populatedObjectPropertyList) { diff --git a/webapp/web/templates/freemarker/edit/forms/confirmDeletePropertyForm.ftl b/webapp/web/templates/freemarker/edit/forms/confirmDeletePropertyForm.ftl index 52760812d..6b565254b 100644 --- a/webapp/web/templates/freemarker/edit/forms/confirmDeletePropertyForm.ftl +++ b/webapp/web/templates/freemarker/edit/forms/confirmDeletePropertyForm.ftl @@ -6,6 +6,8 @@ <#assign toBeDeletedClass = "objProp" /> <#if editConfiguration.objectStatementDisplay?has_content> <#assign statement = editConfiguration.objectStatementDisplay /> + <#--Reviewer and editor role list views required object property template model object for property--> + <#assign property = editConfiguration.objectPropertyStatementDisplayPropertyModel /> <#else> <#assign statement = editConfiguration.dataStatementDisplay />