Skip to content

Commit 9029de8

Browse files
#1924 Alert about out of date extension at the publishing modal window
1 parent 1d48c26 commit 9029de8

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

src/main/java/org/gbif/ipt/action/manage/OverviewAction.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
import java.math.BigDecimal;
8484
import java.net.URI;
8585
import java.nio.charset.StandardCharsets;
86-
import java.nio.file.Files;
8786
import java.text.DateFormat;
8887
import java.text.SimpleDateFormat;
8988
import java.util.ArrayList;
@@ -162,6 +161,7 @@ public class OverviewAction extends ManagerBaseAction implements ReportHandler {
162161
private boolean publish = false;
163162
private boolean validateEml = false;
164163
private boolean networksAvailable = true;
164+
private boolean outdatedExtensions = false;
165165

166166
private boolean validateDatapackageMetadata = false;
167167
private String summary;
@@ -1165,6 +1165,11 @@ public void prepare() {
11651165
// refresh archive report
11661166
updateReport();
11671167

1168+
// check all extensions are up to date
1169+
outdatedExtensions = resource.getMappings().stream()
1170+
.map(ExtensionMapping::getExtension)
1171+
.anyMatch(e -> !e.isLatest());
1172+
11681173
try {
11691174
if (COL_DP.equals(resource.getCoreType())) {
11701175
File metadataFile = cfg.getDataDir().resourceDatapackageMetadataFile(resource.getShortname(), resource.getCoreType());
@@ -1964,6 +1969,10 @@ public boolean isNetworksAvailable() {
19641969
return networksAvailable;
19651970
}
19661971

1972+
public boolean isOutdatedExtensions() {
1973+
return outdatedExtensions;
1974+
}
1975+
19671976
public String getDatapackageMetadataRaw() {
19681977
return datapackageMetadataRaw;
19691978
}

src/main/resources/ApplicationResources_en.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,7 @@ manage.overview.publishing.resource.version=Publishing resource version #{0}
13291329
manage.overview.publishing.error={0}: Publishing resource failed at step {1}. Reason: {2}
13301330
manage.overview.publishing.validator=Validate current version using the Archive Validator
13311331
manage.overview.publishing.confirm=You are about to publish a new <b><span class=''text-visibility-{0}''>{1}</span></b> version of this resource.
1332+
manage.overview.publishing.outdatedExtensions=<span class=''text-gbif-danger fst-italic''>Some of the extensions used are out of date. Please update to the latest versions in order to take advantage of any new terms and vocabularies.</span>
13321333
manage.overview.publishing.doi.reserve.confirm=You are about to reserve a DOI for this resource. Be aware you can still delete the DOI, as long as it has not been registered yet. Do you still want to reserve?
13331334
manage.overview.publishing.doi.reserve.help=You can reserve a DOI for a resource after the mandatory metadata has been entered. To reuse an existing DOI, enter it into the citation identifier field in the resource metadata. If a resource is publicly available and reserved a DOI, the next publication will result in a new major version and the DOI will be registered. Otherwise if a resource is private and reserved a DOI, the next publication will result in a new minor version of the resource and the DOI will NOT be registered. Be aware that until a DOI is registered you can still delete it.
13341335
manage.overview.publishing.doi.reserve.new.help=You can reserve a new DOI for a published resource that has already been assigned a DOI. Be aware the DOI will be registered the next time the resource is published, and will resolve to the newly published version of the resource. The former DOI will still resolve to the previous version, but will display a warning that it has been superseded by the new one. Also be aware you can still delete the reserved DOI as long as it isn''t published.

src/main/webapp/WEB-INF/pages/manage/overview.ftl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,17 @@
172172
173173
$('.confirmReserveDoi').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.doi.reserve.confirm'/>", yesAnswer : "<@s.text name='basic.yes'/>", cancelAnswer : "<@s.text name='basic.no'/>", buttonType: "primary"});
174174
$('.confirmDeleteDoi').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.doi.delete.confirm'/>", yesAnswer : "<@s.text name='basic.yes'/>", cancelAnswer : "<@s.text name='basic.no'/>"});
175+
<#if !outdatedExtensions>
175176
$('.confirmPublish').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
176177
$('.confirmPublishMinorVersion').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.doi.minorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
177178
$('.confirmPublishMajorVersion').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.doi.majorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", checkboxText: "<@s.text name='manage.overview.publishing.doi.register.agreement'/>", buttonType: "primary"});
178179
$('.confirmPublishMajorVersionWithoutDOI').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.withoutDoi.majorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
180+
<#else>
181+
$('.confirmPublish').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.outdatedExtensions'/><@s.text name='manage.overview.publishing.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
182+
$('.confirmPublishMinorVersion').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.outdatedExtensions'/><br><br><@s.text name='manage.overview.publishing.doi.minorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
183+
$('.confirmPublishMajorVersion').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.outdatedExtensions'/><@s.text name='manage.overview.publishing.doi.majorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", checkboxText: "<@s.text name='manage.overview.publishing.doi.register.agreement'/>", buttonType: "primary"});
184+
$('.confirmPublishMajorVersionWithoutDOI').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name='manage.overview.publishing.outdatedExtensions'/><@s.text name='manage.overview.publishing.withoutDoi.majorVersion.confirm'><@s.param>${resourceVisibility}</@s.param><@s.param>${resourceVisibility}</@s.param></@s.text>", yesAnswer : "<@s.text name='button.publish'/>", summary : "<@s.text name='manage.overview.publishing.doi.summary.placeholder'/>", cancelAnswer : "<@s.text name='button.cancel'/>", buttonType: "primary"});
185+
</#if>
179186
180187
$('.delete-source').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name="manage.source.confirmation.message"/>", yesAnswer : "<@s.text name="basic.yes"/>", cancelAnswer : "<@s.text name="basic.no"/>", buttonType: "danger"});
181188
$('.delete-mapping').jConfirmAction({titleQuestion : "<@s.text name="basic.confirm"/>", question : "<@s.text name ="manage.mapping.confirmation.message"/>", yesAnswer : "<@s.text name="basic.yes"/>", cancelAnswer : "<@s.text name="basic.no"/>", buttonType: "danger"});

0 commit comments

Comments
 (0)