From 31872caaf81167de9be3e5287ccff2b1f98360ce Mon Sep 17 00:00:00 2001 From: Mike McKay <mfmckay@wustl.edu> Date: Thu, 11 Aug 2016 13:55:16 -0500 Subject: [PATCH] XNAT-4436 Fixed bulk delete. --- .../screens/BulkDeleteActionScreen.java | 11 +++--- src/main/webapp/scripts/restDeleter.js | 34 ++++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/nrg/xnat/turbine/modules/screens/BulkDeleteActionScreen.java b/src/main/java/org/nrg/xnat/turbine/modules/screens/BulkDeleteActionScreen.java index 1631eda0..657ad4ad 100644 --- a/src/main/java/org/nrg/xnat/turbine/modules/screens/BulkDeleteActionScreen.java +++ b/src/main/java/org/nrg/xnat/turbine/modules/screens/BulkDeleteActionScreen.java @@ -10,10 +10,6 @@ */ package org.nrg.xnat.turbine.modules.screens; -import java.util.ArrayList; -import java.util.Date; -import java.util.Hashtable; - import org.apache.turbine.util.RunData; import org.apache.velocity.context.Context; import org.nrg.xdat.search.DisplaySearch; @@ -23,6 +19,10 @@ import org.nrg.xdat.turbine.utils.TurbineUtils; import org.nrg.xft.XFTTable; import org.nrg.xft.security.UserI; +import java.util.ArrayList; +import java.util.Date; +import java.util.Hashtable; + public class BulkDeleteActionScreen extends SecureScreen { // Enumeration to determine what type of item is stored in an ItemContainer object. @@ -81,6 +81,7 @@ public class BulkDeleteActionScreen extends SecureScreen { }else{ context.put("errMsg", "There is nothing to delete."); } + context.put("turbineUtils", TurbineUtils.GetInstance()); } /** @@ -225,7 +226,7 @@ public class BulkDeleteActionScreen extends SecureScreen { public String canDelete(UserI u, String searchType){ try{ // Is the user allowed to delete this item - boolean canDelete = Permissions.canAny(u,this.xsi + "/project", this.project, "delete"); + boolean canDelete = Permissions.canAny(u,this.xsi, this.project, "delete"); // The search type determines which items a user is allowed to delete. if(searchType.equals("subject")){ diff --git a/src/main/webapp/scripts/restDeleter.js b/src/main/webapp/scripts/restDeleter.js index 1b8a0229..f5381471 100644 --- a/src/main/webapp/scripts/restDeleter.js +++ b/src/main/webapp/scripts/restDeleter.js @@ -20,22 +20,24 @@ RestDeleter = function(_array,_config) { t.width="100%"; var tb=t.appendChild(document.createElement("tbody")); for(var aC=0;aC<this.a.length;aC++){ - if(this.a[aC].canRead && (this.a[aC].allowDelete==undefined||this.a[aC].allowDelete==true)){ - var tr=tb.appendChild(document.createElement("tr")); - tr.entry=this.a[aC]; - - var td1=tr.appendChild(document.createElement("td")); - var td2=tr.appendChild(document.createElement("td")); - tr.td1=td1; - tr.td2=td2; - - td1.innerHTML=this.a[aC].label; - tr.pDivColor=td2.appendChild(document.createElement("div")); - tr.pDivColor.style.width="100%"; - tr.pDivColor.style.backgroundColor="gray"; - tr.pDivColor.style.color="white"; - tr.pDivColor.innerHTML=" waiting..."; - this.trArray.push(tr); + if(this.a[aC].canRead && (this.a[aC].allowDelete==undefined||this.a[aC].allowDelete==true)) { + if (!(this.a[aC].label == "Select All" && this.a[aC].xsiType == null)) { + var tr = tb.appendChild(document.createElement("tr")); + tr.entry = this.a[aC]; + + var td1 = tr.appendChild(document.createElement("td")); + var td2 = tr.appendChild(document.createElement("td")); + tr.td1 = td1; + tr.td2 = td2; + + td1.innerHTML = this.a[aC].label; + tr.pDivColor = td2.appendChild(document.createElement("div")); + tr.pDivColor.style.width = "100%"; + tr.pDivColor.style.backgroundColor = "gray"; + tr.pDivColor.style.color = "white"; + tr.pDivColor.innerHTML = " waiting..."; + this.trArray.push(tr); + } } } var NUMSPACES=(this.config.defaultHeight/25)-4; -- GitLab