Skip to content

Commit 5087cb6

Browse files
committed
PrePublish disclaimer for submit for review
1 parent 7904e99 commit 5087cb6

7 files changed

Lines changed: 59 additions & 5 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## Feature
2+
3+
Added Submit for Review dialog disclaimer messages (similar to Publish disclaimer messages). Can be set using setting :PrePublishDatasetDisclaimerText

src/main/java/edu/harvard/iq/dataverse/DatasetPage.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6373,6 +6373,7 @@ public void setFileMetadataForAction(FileMetadata fileMetadataForAction) {
63736373
private String termsOfAccess;
63746374
private boolean fileAccessRequest;
63756375
private boolean publishDisclaimerAcknowledged;
6376+
private boolean prePublishDisclaimerAcknowledged;
63766377

63776378
public String getTermsOfAccess() {
63786379
return termsOfAccess;
@@ -6398,6 +6399,14 @@ public void setPublishDisclaimerAcknowledged(boolean publishDisclaimerAcknowledg
63986399
this.publishDisclaimerAcknowledged = publishDisclaimerAcknowledged;
63996400
}
64006401

6402+
public boolean isPrePublishDisclaimerAcknowledged() {
6403+
return prePublishDisclaimerAcknowledged || !settingsWrapper.isHasPrePublishDatasetDisclaimerText();
6404+
}
6405+
6406+
public void setPrePublishDisclaimerAcknowledged(boolean prePublishDisclaimerAcknowledged) {
6407+
this.prePublishDisclaimerAcknowledged = prePublishDisclaimerAcknowledged;
6408+
}
6409+
64016410
// wrapper method to see if the file has been deleted (or replaced) in the current version
64026411
public boolean isFileDeleted (DataFile dataFile) {
64036412
if (dataFile.getDeleted() == null) {
@@ -7005,4 +7014,4 @@ public void setRequestedCSL(String requestedCSL) {
70057014
public void validateEmbargoReason(FacesContext context, UIComponent component, Object value) {
70067015
FileUtil.validateEmbargoReason(context, component, value, removeEmbargo);
70077016
}
7008-
}
7017+
}

src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,9 @@ public class SettingsWrapper implements java.io.Serializable {
127127
private String metricsUrl = null;
128128

129129
private String publishDatasetDisclaimerText = null;
130-
130+
131+
private String prePublishDatasetDisclaimerText = null;
132+
131133
private Boolean dataFilePIDSequentialDependent = null;
132134

133135
private Boolean customLicenseAllowed = null;
@@ -885,4 +887,15 @@ public String getPublishDatasetDisclaimerText() {
885887
public Boolean isHasPublishDatasetDisclaimerText() {
886888
return !StringUtil.isEmpty(getPublishDatasetDisclaimerText());
887889
}
890+
891+
public String getPrePublishDatasetDisclaimerText() {
892+
if (prePublishDatasetDisclaimerText == null) {
893+
prePublishDatasetDisclaimerText = getValueForKey(Key.PrePublishDatasetDisclaimerText);
894+
}
895+
return prePublishDatasetDisclaimerText;
896+
}
897+
898+
public Boolean isHasPrePublishDatasetDisclaimerText() {
899+
return !StringUtil.isEmpty(getPrePublishDatasetDisclaimerText());
900+
}
888901
}

src/main/java/edu/harvard/iq/dataverse/api/Info.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ public Response getPublishDatasetDisclaimerText() {
5252
return getSettingResponseByKey(SettingsServiceBean.Key.PublishDatasetDisclaimerText);
5353
}
5454

55+
@GET
56+
@Path("settings/:PrePublishDatasetDisclaimerText")
57+
public Response getPrePublishDatasetDisclaimerText() {
58+
return getSettingResponseByKey(SettingsServiceBean.Key.PrePublishDatasetDisclaimerText);
59+
}
60+
5561
@GET
5662
@Path("settings/:MaxEmbargoDurationInMonths")
5763
public Response getMaxEmbargoDurationInMonths() {

src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,10 @@ <p>Size limit (in bytes) for tabular file ingest. Accepts either a single numeri
330330
*/
331331
PublishDatasetDisclaimerText,
332332
/*
333+
Submit for review Disclaimer text. If this setting exists user must acknowledge before a Dataset can be submitted for review
334+
*/
335+
PrePublishDatasetDisclaimerText,
336+
/*
333337
Whether Harvesting (OAI) service is enabled
334338
*/
335339
OAIServerEnabled,

src/main/webapp/dataset.xhtml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1950,8 +1950,19 @@
19501950
<c:if test="#{showSubmitForReviewLink}">
19511951
<ui:include src="datasetLicenseInfoFragment.xhtml"/>
19521952
</c:if>
1953+
<ui:fragment rendered="#{valid and settingsWrapper.isHasPrePublishDatasetDisclaimerText()}">
1954+
<div class="form-group">
1955+
<p:selectBooleanCheckbox class="text-danger" id="submitForReviewDisclaimer"
1956+
itemLabel="#{MarkupChecker:sanitizeAdvancedHTML(settingsWrapper.getPrePublishDatasetDisclaimerText())}"
1957+
escape="false"
1958+
value="#{DatasetPage.prePublishDisclaimerAcknowledged}">
1959+
<p:ajax event="change" update="submitReviewDatasetButton"/>
1960+
</p:selectBooleanCheckbox>
1961+
</div>
1962+
</ui:fragment>
19531963
<div class="button-block">
1954-
<p:commandButton rendered="#{DatasetPage.validOrCanReviewIncomplete}" styleClass="btn btn-default" value="#{bundle.submit}"
1964+
<p:commandButton id="submitReviewDatasetButton" rendered="#{DatasetPage.validOrCanReviewIncomplete}" styleClass="btn btn-default" value="#{bundle.submit}"
1965+
disabled="#{!DatasetPage.prePublishDisclaimerAcknowledged}"
19551966
onclick="PF('inreview').hide();
19561967
PF('blockDatasetForm').hide();" action="#{DatasetPage.submitDataset}" immediate="true"/>
19571968
<button class="btn btn-link" onclick="PF('inreview').hide();PF('blockDatasetForm').hide();" type="button">

src/test/java/edu/harvard/iq/dataverse/api/InfoIT.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,30 @@ public static void setUpClass() {
2626
UtilIT.deleteSetting(SettingsServiceBean.Key.ApplicationTermsOfUse);
2727
UtilIT.deleteSetting(SettingsServiceBean.Key.ApplicationTermsOfUse, "fr");
2828
UtilIT.deleteSetting(SettingsServiceBean.Key.PublishDatasetDisclaimerText);
29+
UtilIT.deleteSetting(SettingsServiceBean.Key.PrePublishDatasetDisclaimerText);
2930
}
3031

3132
@AfterAll
3233
public static void afterClass() {
3334
UtilIT.deleteSetting(SettingsServiceBean.Key.MaxEmbargoDurationInMonths);
3435
UtilIT.deleteSetting(SettingsServiceBean.Key.DatasetPublishPopupCustomText);
3536
UtilIT.deleteSetting(SettingsServiceBean.Key.PublishDatasetDisclaimerText);
37+
UtilIT.deleteSetting(SettingsServiceBean.Key.PrePublishDatasetDisclaimerText);
3638
}
3739

3840
@Test
3941
public void testGetDatasetPublishPopupCustomText() {
40-
testSettingEndpoint(SettingsServiceBean.Key.DatasetPublishPopupCustomText, "Hello world!");
42+
testSettingEndpoint(SettingsServiceBean.Key.DatasetPublishPopupCustomText, "Hello world! DatasetPublishPopupCustomText");
4143
}
44+
4245
@Test
4346
public void testGetDatasetPublishDisclaimerText() {
44-
testSettingEndpoint(SettingsServiceBean.Key.PublishDatasetDisclaimerText, "Hello world!");
47+
testSettingEndpoint(SettingsServiceBean.Key.PublishDatasetDisclaimerText, "Hello world! PublishDatasetDisclaimerText");
48+
}
49+
50+
@Test
51+
public void testGetPrePublishDatasetDisclaimerText() {
52+
testSettingEndpoint(SettingsServiceBean.Key.PrePublishDatasetDisclaimerText, "Hello world! PrePublishDatasetDisclaimerText");
4553
}
4654

4755
@Test

0 commit comments

Comments
 (0)