diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java b/src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java
index 73b4723de53..faa91b87e12 100644
--- a/src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java
+++ b/src/main/java/edu/harvard/iq/dataverse/DatasetVersion.java
@@ -1686,7 +1686,7 @@ public Set validate() {
Set> constraintViolations = validator.validate(toua);
if (constraintViolations.size() > 0) {
ConstraintViolation violation = constraintViolations.iterator().next();
- String message = BundleUtil.getStringFromBundle("toua.invalid");
+ String message = BundleUtil.getStringFromBundle("dataset.message.toua.invalid");
logger.info(message);
this.termsOfUseAndAccess.setValidationMessage(message);
returnSet.add(violation);
diff --git a/src/main/java/edu/harvard/iq/dataverse/TemplatePage.java b/src/main/java/edu/harvard/iq/dataverse/TemplatePage.java
index b04136bb5a1..331ecbf24f8 100644
--- a/src/main/java/edu/harvard/iq/dataverse/TemplatePage.java
+++ b/src/main/java/edu/harvard/iq/dataverse/TemplatePage.java
@@ -129,6 +129,7 @@ public String init() {
if (template.getTermsOfUseAndAccess() != null) {
TermsOfUseAndAccess terms = template.getTermsOfUseAndAccess().copyTermsOfUseAndAccess();
+ terms.setTemplate(template);
template.setTermsOfUseAndAccess(terms);
}
diff --git a/src/main/java/edu/harvard/iq/dataverse/TermsOfUseAndAccessValidator.java b/src/main/java/edu/harvard/iq/dataverse/TermsOfUseAndAccessValidator.java
index ee094d772e2..2cf78db0f03 100644
--- a/src/main/java/edu/harvard/iq/dataverse/TermsOfUseAndAccessValidator.java
+++ b/src/main/java/edu/harvard/iq/dataverse/TermsOfUseAndAccessValidator.java
@@ -28,7 +28,13 @@ public boolean isValid(TermsOfUseAndAccess value, ConstraintValidatorContext con
}
public static boolean isTOUAValid(TermsOfUseAndAccess value, ConstraintValidatorContext context){
- //If there are no restricted files then terms are valid
+
+ //if part of a template it is valid
+ if (value.getTemplate() != null){
+ return true;
+ }
+
+ //If there are no restricted files then terms are valid
if (!value.getDatasetVersion().isHasRestrictedFile()) {
return true;
}
@@ -39,10 +45,10 @@ public static boolean isTOUAValid(TermsOfUseAndAccess value, ConstraintValidator
if (!valid) {
try {
if (context != null) {
- context.buildConstraintViolationWithTemplate(BundleUtil.getStringFromBundle("toua.invalid")).addConstraintViolation();
+ context.buildConstraintViolationWithTemplate(BundleUtil.getStringFromBundle("dataset.message.toua.invalid")).addConstraintViolation();
}
- value.setValidationMessage(BundleUtil.getStringFromBundle("toua.invalid"));
+ value.setValidationMessage(BundleUtil.getStringFromBundle("dataset.message.toua.invalid"));
} catch (NullPointerException e) {
return false;
}
diff --git a/src/main/java/propertyFiles/Bundle.properties b/src/main/java/propertyFiles/Bundle.properties
index 31a58ae65b1..89f3760909b 100644
--- a/src/main/java/propertyFiles/Bundle.properties
+++ b/src/main/java/propertyFiles/Bundle.properties
@@ -1475,6 +1475,7 @@ dataset.message.editMetadata.label=Edit Dataset Metadata
dataset.message.editMetadata.message=Add more metadata about this dataset to help others easily find it.
dataset.message.editMetadata.duplicateFilenames=Duplicate filenames: {0}
dataset.message.editMetadata.invalid.TOUA.message=Datasets with restricted files are required to have Request Access enabled or Terms of Access to help people access the data. Please edit the dataset to confirm Request Access or provide Terms of Access to be in compliance with the policy.
+dataset.message.toua.invalid=You must enable request access or add terms of access in datasets with restricted files.
dataset.message.editTerms.label=Edit Dataset Terms
dataset.message.editTerms.message=Add the terms of use for this dataset to explain how to access and use your data.
diff --git a/src/main/webapp/dataset-license-terms.xhtml b/src/main/webapp/dataset-license-terms.xhtml
index a5930ccf35f..9d381f54dd5 100644
--- a/src/main/webapp/dataset-license-terms.xhtml
+++ b/src/main/webapp/dataset-license-terms.xhtml
@@ -11,7 +11,7 @@
jsf:rendered="#{dataverseSession.user.authenticated and empty editMode and !widgetWrapper.widgetView
and permissionsWrapper.canIssueUpdateDatasetCommand(DatasetPage.dataset)}">
+ update="@form,:messagePanel" disabled="#{DatasetPage.lockedFromEdits}">
#{bundle['file.dataFilesTab.terms.editTermsBtn']}
@@ -50,7 +50,7 @@
-
+
@@ -296,7 +296,7 @@
-
+
@@ -325,13 +325,13 @@
-
+ value="#{termsOfUseAndAccess.fileAccessRequest}" disabled="#{datasetPage == true and !DatasetPage.isHasRestrictedFiles()}">
+