diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java index fe81a91489e..209627356f9 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java +++ b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java @@ -4909,7 +4909,10 @@ public boolean isFileAccessRequestMultiButtonRequired(){ // return false; } for (FileMetadata fmd : workingVersion.getFileMetadatas()){ - if (!this.fileDownloadHelper.canDownloadFile(fmd)){ + //Change here so that if all restricted files have pending requests there's no Request Button + if ((!this.fileDownloadHelper.canDownloadFile(fmd) && (fmd.getDataFile().getFileAccessRequesters() == null + || ( fmd.getDataFile().getFileAccessRequesters() != null + && !fmd.getDataFile().getFileAccessRequesters().contains((AuthenticatedUser)session.getUser()))))){ return true; } } diff --git a/src/main/java/edu/harvard/iq/dataverse/FileDownloadHelper.java b/src/main/java/edu/harvard/iq/dataverse/FileDownloadHelper.java index 0faed551c6e..ef7ed1a2010 100644 --- a/src/main/java/edu/harvard/iq/dataverse/FileDownloadHelper.java +++ b/src/main/java/edu/harvard/iq/dataverse/FileDownloadHelper.java @@ -11,14 +11,14 @@ import edu.harvard.iq.dataverse.externaltools.ExternalTool; import edu.harvard.iq.dataverse.util.BundleUtil; import edu.harvard.iq.dataverse.util.FileUtil; -import static edu.harvard.iq.dataverse.util.JsfHelper.JH; +import edu.harvard.iq.dataverse.util.JsfHelper; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Logger; import javax.ejb.EJB; -import javax.faces.application.FacesMessage; import javax.faces.view.ViewScoped; import javax.inject.Inject; import javax.inject.Named; @@ -322,7 +322,6 @@ public void requestAccessIndirect() { private boolean processRequestAccess(DataFile file, Boolean sendNotification) { - if (fileDownloadService.requestAccess(file.getId())) { // update the local file object so that the page properly updates if(file.getFileAccessRequesters() == null){ @@ -332,9 +331,11 @@ private boolean processRequestAccess(DataFile file, Boolean sendNotification) { // create notification if necessary if (sendNotification) { fileDownloadService.sendRequestFileAccessNotification(file, (AuthenticatedUser) session.getUser()); - } + } + JsfHelper.addSuccessMessage(BundleUtil.getStringFromBundle("file.accessRequested.success")); return true; } + JsfHelper.addWarningMessage(BundleUtil.getStringFromBundle("file.accessRequested.alreadyRequested", Arrays.asList(file.getDisplayName()))); return false; } diff --git a/src/main/java/propertyFiles/Bundle.properties b/src/main/java/propertyFiles/Bundle.properties index 30bc6836cc3..6889d3659f4 100644 --- a/src/main/java/propertyFiles/Bundle.properties +++ b/src/main/java/propertyFiles/Bundle.properties @@ -1722,6 +1722,8 @@ file.requestAccess=Request Access file.requestAccess.dialog.msg=You need to Log In to request access. file.requestAccess.dialog.msg.signup=You need to Sign Up or Log In to request access. file.accessRequested=Access Requested +file.accessRequested.success=Your request for access has been submitted. You will receive an email message and notification in the app when access is granted or rejected. +file.accessRequested.alreadyRequested=Access already available or requested for file: {0} file.ingestInProgress=Ingest in progress... file.dataFilesTab.metadata.header=Metadata file.dataFilesTab.metadata.addBtn=Add + Edit Metadata diff --git a/src/main/webapp/file-download-button-fragment.xhtml b/src/main/webapp/file-download-button-fragment.xhtml index 6511efe6284..855afe63f76 100644 --- a/src/main/webapp/file-download-button-fragment.xhtml +++ b/src/main/webapp/file-download-button-fragment.xhtml @@ -28,7 +28,7 @@ rendered="#{fileDownloadHelper.session.user.authenticated}"> #{fileMetadata.dataFile.fileAccessRequesters.contains(dataverseSession.user) ? bundle['file.accessRequested'] : bundle['file.requestAccess']} diff --git a/src/main/webapp/file-request-access-popup-fragment.xhtml b/src/main/webapp/file-request-access-popup-fragment.xhtml index 5cd4a8ea551..14bffdf4a8e 100644 --- a/src/main/webapp/file-request-access-popup-fragment.xhtml +++ b/src/main/webapp/file-request-access-popup-fragment.xhtml @@ -44,7 +44,7 @@
+ update="@([id$=requestAccessConsolidated]), @([id$=requestPanel]), @([id$=messagePanel]) @([id$=filesTable])" oncomplete="PF('requestAccessPopup').hide();">
+
+ + + #{bundle['file.accessRequested']}  +
+
- +