Skip to content

Commit

Permalink
#8600 fix perms and templates in use delete
Browse files Browse the repository at this point in the history
  • Loading branch information
sekmiller committed May 13, 2022
1 parent dcf7d31 commit 23f3404
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/main/java/edu/harvard/iq/dataverse/api/Admin.java
Original file line number Diff line number Diff line change
Expand Up @@ -217,15 +217,22 @@ public Response deleteSetting(@PathParam("name") String name, @PathParam("lang")
@Path("template/{id}")
@DELETE
public Response deleteTemplate(@PathParam("id") long id) {

AuthenticatedUser superuser = authSvc.getAdminUser();
if (superuser == null) {
return error(Response.Status.INTERNAL_SERVER_ERROR, "Cannot find superuser to execute DeleteTemplateCommand.");
}

Template doomed = templateService.find(id);
if (doomed == null) {
return error(Response.Status.NOT_FOUND, "Template with id " + id + " - not found.");
}

Dataverse dv = doomed.getDataverse();
List <Dataverse> dataverseWDefaultTemplate = templateService.findDataversesByDefaultTemplateId(doomed.getId());

try {
commandEngine.submit(new DeleteTemplateCommand(dvRequestService.getDataverseRequest(), dv, doomed, null));
commandEngine.submit(new DeleteTemplateCommand(createDataverseRequest(superuser), dv, doomed, dataverseWDefaultTemplate));
} catch (CommandException ex) {
Logger.getLogger(Admin.class.getName()).log(Level.SEVERE, null, ex);
return error(Response.Status.BAD_REQUEST, ex.getLocalizedMessage());
Expand Down

0 comments on commit 23f3404

Please sign in to comment.