diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java index bb6f8292a..f8bf9eca4 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java @@ -75,6 +75,9 @@ public class EditRequestDispatchController extends FreemarkerHttpServlet { if (StringUtils.isNotEmpty(EditConfigurationUtils.getTypeOfNew(vreq))) { return SimplePermission.DO_BACK_END_EDITING.ACTION; } + if (isIndividualDeletion(vreq)) { + return SimplePermission.DO_BACK_END_EDITING.ACTION; + } // Check if this statement can be edited here and return unauthorized if not String subjectUri = EditConfigurationUtils.getSubjectUri(vreq); String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); @@ -103,6 +106,16 @@ public class EditRequestDispatchController extends FreemarkerHttpServlet { return isAuthorized? SimplePermission.DO_FRONT_END_EDITING.ACTION: AuthorizationRequest.UNAUTHORIZED; } + private boolean isIndividualDeletion(VitroRequest vreq) { + String subjectUri = EditConfigurationUtils.getSubjectUri(vreq); + String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); + String objectUri = EditConfigurationUtils.getObjectUri(vreq); + if (objectUri != null && subjectUri == null && predicateUri == null && isDeleteForm(vreq)) { + return true; + } + return false; + } + @Override protected ResponseValues processRequest(VitroRequest vreq) {