diff --git a/experiment/src/org/labkey/experiment/controllers/exp/ExperimentController.java b/experiment/src/org/labkey/experiment/controllers/exp/ExperimentController.java index d3865df1c1e..52e4f0d9bbd 100644 --- a/experiment/src/org/labkey/experiment/controllers/exp/ExperimentController.java +++ b/experiment/src/org/labkey/experiment/controllers/exp/ExperimentController.java @@ -3937,8 +3937,14 @@ public ModelAndView getView(DeleteForm deleteForm, boolean reshow, BindException List datas = getDatas(deleteForm, false); List runs = getRuns(datas); + ConfirmDeleteView view = new ConfirmDeleteView("Data", ShowDataAction.class, datas, deleteForm, runs); - return new ConfirmDeleteView("Data", ShowDataAction.class, datas, deleteForm, runs); + // GitHub Issue #1446: show ConfirmDeleteView with a message indicating if not all of the ids resolve within the container context + int unresolved = deleteForm.getIds(false).size() - datas.size(); + if (unresolved == 0) + return view; + + return new VBox(new HtmlView(DIV(unresolved + " of the selected items could not be found in this folder.")), view); } private List getRuns(List datas) @@ -3953,7 +3959,8 @@ private List getDatas(DeleteForm deleteForm, boolean clear) for (long dataId : deleteForm.getIds(clear)) { ExpData data = ExperimentService.get().getExpData(dataId); - if (data != null) + // GitHub Issue #1446: deleteObjects() only deletes within getContainer(), so don't resolve data from other folders + if (data != null && data.getContainer().equals(getContainer())) { datas.add(data); }