From 1a0c2235f6477fee3189e1c2fd29f7a603e7f620 Mon Sep 17 00:00:00 2001 From: Lene Wasskog <lene.wasskog@nibio.no> Date: Thu, 8 May 2025 15:45:27 +0200 Subject: [PATCH] feat: Add support for time series removal Should not be possible if there are registered observations for the time series --- .../ObservationTimeSeriesController.java | 17 +++++++++++++++-- .../vips/logic/i18n/vipslogictexts.properties | 1 + .../logic/i18n/vipslogictexts_nb.properties | 1 + .../templates/observationTimeSeriesForm.ftl | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java index a5f60bd0..12d231bb 100644 --- a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java +++ b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java @@ -193,8 +193,21 @@ public class ObservationTimeSeriesController extends HttpServlet { response.sendError(500, ExceptionUtil.getStackTrace(e)); } } else if (action.equals("deleteObservationTimeSeries")) { - Integer observationTimeSeriesId = Integer.valueOf(request.getParameter("observationTimeSeriesId")); - LOGGER.info("Delete observationTimeSeries {}", observationTimeSeriesId); + try { + Integer observationTimeSeriesId = Integer.valueOf(request.getParameter("observationTimeSeriesId")); + LOGGER.info("Delete observationTimeSeries {}", observationTimeSeriesId); + observationTimeSeriesBean.deleteObservationTimeSeries(observationTimeSeriesId); + + // Redirect to list + response.sendRedirect(new StringBuilder(Globals.PROTOCOL + "://") + .append(ServletUtil.getServerName(request)) + .append("/observationTimeSeries") + .append("?messageKey=").append("observationTimeSeriesDeleted").toString() + ); + } catch (NullPointerException | NumberFormatException ex) { + response.sendError(500, ExceptionUtil.getStackTrace(ex)); + } + } } } diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties index 28c36c9d..8726f493 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties @@ -1097,3 +1097,4 @@ addNewObservationInTimeSeries=Add observation to time series observationTimeSeriesName=Name observationTimeSeriesDescription=Description year=Year +observationTimeSeriesDeleted = Observation time series was deleted diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties index a5b139b2..cbfd5821 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties @@ -1096,3 +1096,4 @@ addNewObservationInTimeSeries=Legg til ny observasjon i tidsserien observationTimeSeriesName=Navn observationTimeSeriesDescription=Beskrivelse year=\u00c5r +observationTimeSeriesDeleted = Tidsserie slettet diff --git a/src/main/webapp/templates/observationTimeSeriesForm.ftl b/src/main/webapp/templates/observationTimeSeriesForm.ftl index 06047181..9d5794bc 100644 --- a/src/main/webapp/templates/observationTimeSeriesForm.ftl +++ b/src/main/webapp/templates/observationTimeSeriesForm.ftl @@ -525,7 +525,7 @@ <span class="help-block" id="${formId}_description_validation"></span> </div> <button type="submit" class="btn btn-default">${i18nBundle.submit}</button> - <#if observationTimeSeries.observationTimeSeriesId?has_content> + <#if observationTimeSeries.observationTimeSeriesId?has_content && isEditable> <button type="button" class="btn btn-danger" onclick="if(confirm('${i18nBundle.confirmDelete}')){window.location.href='/observationTimeSeries?action=deleteObservationTimeSeries&observationTimeSeriesId=${observationTimeSeries.observationTimeSeriesId}';}">${i18nBundle.delete}</button> </#if> -- GitLab