diff --git a/src/main/java/edu/harvard/iq/dataverse/ManageFilePermissionsPage.java b/src/main/java/edu/harvard/iq/dataverse/ManageFilePermissionsPage.java index 6d0e2f77c50..c728062a5a8 100644 --- a/src/main/java/edu/harvard/iq/dataverse/ManageFilePermissionsPage.java +++ b/src/main/java/edu/harvard/iq/dataverse/ManageFilePermissionsPage.java @@ -115,6 +115,17 @@ public TreeMap> getFileAccessRequestMap() { } + private boolean backingShowDeleted = true; + + public void showDeletedCheckboxChange() { + + if (backingShowDeleted != showDeleted) { + initMaps(); + backingShowDeleted = showDeleted; + } + + } + public String init() { if (dataset.getId() != null) { dataset = datasetService.find(dataset.getId()); @@ -136,17 +147,22 @@ private void initMaps() { // initialize files and usergroup list roleAssigneeMap.clear(); fileMap.clear(); - fileAccessRequestMap.clear(); + fileAccessRequestMap.clear(); for (DataFile file : dataset.getFiles()) { - boolean fileIsDeleted = !((dataset.getLatestVersion().isDraft() && file.getFileMetadata().getDatasetVersion().isDraft()) - || (dataset.getLatestVersion().isReleased() && file.getFileMetadata().getDatasetVersion().equals(dataset.getLatestVersion()))); // only include if the file is restricted (or its draft version is restricted) //Added a null check in case there are files that have no metadata records SEK //for 6587 make sure that a file is in the current version befor adding to the fileMap SEK 2/11/2020 - if (file.getFileMetadata() != null && (file.isRestricted() || file.getFileMetadata().isRestricted()) - && (!fileIsDeleted || isShowDeleted())) { + if (file.getFileMetadata() != null && (file.isRestricted() || file.getFileMetadata().isRestricted())) { + //only test if file is deleted if it's restricted + boolean fileIsDeleted = !((dataset.getLatestVersion().isDraft() && file.getFileMetadata().getDatasetVersion().isDraft()) + || (dataset.getLatestVersion().isReleased() && file.getFileMetadata().getDatasetVersion().equals(dataset.getLatestVersion()))); + + if (!isShowDeleted() && fileIsDeleted) { + //if don't show deleted and is deleted go to next file... + continue; + } // we get the direct role assignments assigned to the file List ras = roleService.directRoleAssignments(file); List raList = new ArrayList<>(ras.size()); diff --git a/src/main/webapp/permissions-manage-files.xhtml b/src/main/webapp/permissions-manage-files.xhtml index 054f97aec80..49e2ff86768 100644 --- a/src/main/webapp/permissions-manage-files.xhtml +++ b/src/main/webapp/permissions-manage-files.xhtml @@ -50,7 +50,7 @@
- +
@@ -156,7 +156,7 @@
- +