From fdae4075f50f17622bc72617a2469984261a31df Mon Sep 17 00:00:00 2001 From: Steven Winship <39765413+stevenwinship@users.noreply.github.com> Date: Fri, 1 May 2026 13:14:34 -0400 Subject: [PATCH 1/4] PrePublish disclaimer for submit for review --- .../12325-submit-for-review-message.md | 3 +++ .../edu/harvard/iq/dataverse/DatasetPage.java | 11 ++++++++++- .../edu/harvard/iq/dataverse/SettingsWrapper.java | 15 ++++++++++++++- .../java/edu/harvard/iq/dataverse/api/Info.java | 6 ++++++ .../dataverse/settings/SettingsServiceBean.java | 4 ++++ src/main/webapp/dataset.xhtml | 13 ++++++++++++- .../java/edu/harvard/iq/dataverse/api/InfoIT.java | 12 ++++++++++-- 7 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 doc/release-notes/12325-submit-for-review-message.md diff --git a/doc/release-notes/12325-submit-for-review-message.md b/doc/release-notes/12325-submit-for-review-message.md new file mode 100644 index 00000000000..e40f435d6b3 --- /dev/null +++ b/doc/release-notes/12325-submit-for-review-message.md @@ -0,0 +1,3 @@ +## Feature + +Added Submit for Review dialog disclaimer messages (similar to Publish disclaimer messages). Can be set using setting :PrePublishDatasetDisclaimerText diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java index 3b1c8c4f3c4..8e456060da3 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java +++ b/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java @@ -6373,6 +6373,7 @@ public void setFileMetadataForAction(FileMetadata fileMetadataForAction) { private String termsOfAccess; private boolean fileAccessRequest; private boolean publishDisclaimerAcknowledged; + private boolean prePublishDisclaimerAcknowledged; public String getTermsOfAccess() { return termsOfAccess; @@ -6398,6 +6399,14 @@ public void setPublishDisclaimerAcknowledged(boolean publishDisclaimerAcknowledg this.publishDisclaimerAcknowledged = publishDisclaimerAcknowledged; } + public boolean isPrePublishDisclaimerAcknowledged() { + return prePublishDisclaimerAcknowledged || !settingsWrapper.isHasPrePublishDatasetDisclaimerText(); + } + + public void setPrePublishDisclaimerAcknowledged(boolean prePublishDisclaimerAcknowledged) { + this.prePublishDisclaimerAcknowledged = prePublishDisclaimerAcknowledged; + } + // wrapper method to see if the file has been deleted (or replaced) in the current version public boolean isFileDeleted (DataFile dataFile) { if (dataFile.getDeleted() == null) { @@ -7005,4 +7014,4 @@ public void setRequestedCSL(String requestedCSL) { public void validateEmbargoReason(FacesContext context, UIComponent component, Object value) { FileUtil.validateEmbargoReason(context, component, value, removeEmbargo); } -} \ No newline at end of file +} diff --git a/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java b/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java index 23db066dc14..feb77274e53 100644 --- a/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java +++ b/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java @@ -127,7 +127,9 @@ public class SettingsWrapper implements java.io.Serializable { private String metricsUrl = null; private String publishDatasetDisclaimerText = null; - + + private String prePublishDatasetDisclaimerText = null; + private Boolean dataFilePIDSequentialDependent = null; private Boolean customLicenseAllowed = null; @@ -885,4 +887,15 @@ public String getPublishDatasetDisclaimerText() { public Boolean isHasPublishDatasetDisclaimerText() { return !StringUtil.isEmpty(getPublishDatasetDisclaimerText()); } + + public String getPrePublishDatasetDisclaimerText() { + if (prePublishDatasetDisclaimerText == null) { + prePublishDatasetDisclaimerText = getValueForKey(Key.PrePublishDatasetDisclaimerText); + } + return prePublishDatasetDisclaimerText; + } + + public Boolean isHasPrePublishDatasetDisclaimerText() { + return !StringUtil.isEmpty(getPrePublishDatasetDisclaimerText()); + } } diff --git a/src/main/java/edu/harvard/iq/dataverse/api/Info.java b/src/main/java/edu/harvard/iq/dataverse/api/Info.java index 1aab185e6fb..93deffa3e2b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/Info.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/Info.java @@ -52,6 +52,12 @@ public Response getPublishDatasetDisclaimerText() { return getSettingResponseByKey(SettingsServiceBean.Key.PublishDatasetDisclaimerText); } + @GET + @Path("settings/:PrePublishDatasetDisclaimerText") + public Response getPrePublishDatasetDisclaimerText() { + return getSettingResponseByKey(SettingsServiceBean.Key.PrePublishDatasetDisclaimerText); + } + @GET @Path("settings/:MaxEmbargoDurationInMonths") public Response getMaxEmbargoDurationInMonths() { diff --git a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java index 994f1c00841..9d7252ebe55 100644 --- a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java @@ -330,6 +330,10 @@
Size limit (in bytes) for tabular file ingest. Accepts either a single numeri
*/
PublishDatasetDisclaimerText,
/*
+ Submit for review Disclaimer text. If this setting exists user must acknowledge before a Dataset can be submitted for review
+ */
+ PrePublishDatasetDisclaimerText,
+ /*
Whether Harvesting (OAI) service is enabled
*/
OAIServerEnabled,
diff --git a/src/main/webapp/dataset.xhtml b/src/main/webapp/dataset.xhtml
index 1fdd5af2591..edb70120f9e 100644
--- a/src/main/webapp/dataset.xhtml
+++ b/src/main/webapp/dataset.xhtml
@@ -1950,8 +1950,19 @@