diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java index bb6e69bdc..88ef32f65 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java @@ -113,7 +113,7 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel } } - protected void setAddUrl(Property property) { + protected void setAddUrl(ObjectProperty property) { // Is the add link suppressed for this property? if (property.isAddLinkSuppressed()) { return; @@ -125,6 +125,10 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel if ( ! PolicyHelper.isAuthorizedForActions(vreq, action) ) { return; } + + if (isNotAllowedToCreateOrSelect(property)) { + return; + } String rangeUri = (property instanceof ObjectProperty) ? ((ObjectProperty) property).getRangeVClassURI() @@ -152,6 +156,10 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel } } + private boolean isNotAllowedToCreateOrSelect(ObjectProperty property) { + return !property.getSelectFromExisting() && !property.getOfferCreateNewOption(); + } + /** * Pull this into a protected method so we can stub it out in the unit tests. * Other options: