diff --git a/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java b/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java index b766e2605bf..f1cb22887ca 100644 --- a/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java +++ b/src/main/java/edu/harvard/iq/dataverse/SettingsWrapper.java @@ -142,6 +142,10 @@ public String getGuidesBaseUrl() { return guidesBaseUrl; } + public String getGuidesVersion() { + return systemConfig.getGuidesVersion(); + } + public boolean isPublicInstall(){ return systemConfig.isPublicInstall(); } diff --git a/src/main/java/edu/harvard/iq/dataverse/dashboard/DashboardDatamovePage.java b/src/main/java/edu/harvard/iq/dataverse/dashboard/DashboardDatamovePage.java index 7ea9fec1da4..6d5cfb60e4e 100644 --- a/src/main/java/edu/harvard/iq/dataverse/dashboard/DashboardDatamovePage.java +++ b/src/main/java/edu/harvard/iq/dataverse/dashboard/DashboardDatamovePage.java @@ -7,6 +7,7 @@ import edu.harvard.iq.dataverse.DataverseSession; import edu.harvard.iq.dataverse.EjbDataverseEngine; import edu.harvard.iq.dataverse.PermissionsWrapper; +import edu.harvard.iq.dataverse.SettingsWrapper; import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.ip.IpAddress; import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; @@ -17,6 +18,7 @@ import edu.harvard.iq.dataverse.util.JsfHelper; import java.text.NumberFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,6 +48,8 @@ public class DashboardDatamovePage implements java.io.Serializable { DatasetServiceBean datasetService; @EJB DataverseServiceBean dataverseService; + @Inject + SettingsWrapper settingsWrapper; @PersistenceContext(unitName = "VDCNet-ejbPU") private EntityManager em; @@ -166,8 +170,10 @@ public void move(){ logger.log(Level.SEVERE,"Unable to move "+ dsPersistentId + " from " + srcAlias + " to " + dstAlias, e); arguments.add(e.getLocalizedMessage()); if (e instanceof UnforcedCommandException) { + String guidesBaseUrl = settingsWrapper.getGuidesBaseUrl(); + String version = settingsWrapper.getGuidesVersion(); // Suggest using the API to force the move. - arguments.add(BundleUtil.getStringFromBundle("dashboard.card.datamove.dataset.command.error.unforced.suggestForce")); + arguments.add(BundleUtil.getStringFromBundle("dashboard.card.datamove.dataset.command.error.unforced.suggestForce", Arrays.asList(guidesBaseUrl, version))); } FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, diff --git a/src/main/java/propertyFiles/Bundle.properties b/src/main/java/propertyFiles/Bundle.properties index 9cc5b17cdbd..2593858d595 100755 --- a/src/main/java/propertyFiles/Bundle.properties +++ b/src/main/java/propertyFiles/Bundle.properties @@ -597,7 +597,7 @@ dashboard.card.datamove.dataset.command.error.targetDataverseUnpublishedDatasetP dashboard.card.datamove.dataset.command.error.targetDataverseSameAsOriginalDataverse=This dataset is already in this dataverse. dashboard.card.datamove.dataset.command.error.unforced.datasetGuestbookNotInTargetDataverse=The guestbook would be removed from this dataset if you moved it because the guestbook is not in the new host dataverse. dashboard.card.datamove.dataset.command.error.unforced.linkedToTargetDataverseOrOneOfItsParents=This dataset is linked to the new host dataverse or one of its parents. This move would remove all links to this dataset. -dashboard.card.datamove.dataset.command.error.unforced.suggestForce=Forcing this move is only available via API. Please see "Move a Dataset" under "Managing Datasets and Dataverses" in the Admin Guide for details. +dashboard.card.datamove.dataset.command.error.unforced.suggestForce=Forcing this move is only available via API. Please see "Move a Dataset" under Managing Datasets and Dataverses in the Admin Guide for details. dashboard.card.datamove.dataset.command.error.indexingProblem=Dataset could not be moved. Indexing failed. #MailServiceBean.java