From 9ede23c8c33bef2643e55ad828caba2bce74d30a Mon Sep 17 00:00:00 2001 From: anthony4m Date: Fri, 17 Jan 2025 14:41:15 +0000 Subject: [PATCH] #183 added archive and delete --- .../symeda/sormas/ui/ebs/EbsController.java | 84 ++++++++++--------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/ebs/EbsController.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/ebs/EbsController.java index c578ae8577f..f443bc67e46 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/ebs/EbsController.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/ebs/EbsController.java @@ -20,9 +20,14 @@ import static com.vaadin.ui.Notification.Type.TRAY_NOTIFICATION; import static de.symeda.sormas.api.utils.DataHelper.isNullOrEmpty; +import java.util.Collections; import java.util.List; import java.util.function.Consumer; +import com.vaadin.ui.UI; +import de.symeda.sormas.api.externalsurveillancetool.ExternalSurveillanceToolRuntimeException; +import de.symeda.sormas.api.i18n.Captions; +import de.symeda.sormas.ui.utils.ArchiveHandlers; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -67,14 +72,7 @@ import de.symeda.sormas.ui.utils.VaadinUiUtil; import de.symeda.sormas.ui.utils.components.automaticdeletion.DeletionLabel; import de.symeda.sormas.ui.utils.components.page.title.TitleLayout; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; - -import java.util.Collection; -import java.util.List; -import java.util.function.Consumer; -import static com.vaadin.ui.Notification.Type.TRAY_NOTIFICATION; public class EbsController { @@ -170,7 +168,7 @@ public CommitDiscardWrapperComponent getEbsCreateComponent() { final CommitDiscardWrapperComponent component = new CommitDiscardWrapperComponent<>(form, UserProvider.getCurrent().hasAllUserRights(), form.getFieldGroup()); - component.getDiscardButton().setCaption("Cancel"); + component.getDiscardButton().setCaption(Captions.actionCancel); component.addCommitListener(() -> { if (!form.getFieldGroup().isModified()) { EbsDto newEvent = form.getValue(); @@ -193,19 +191,17 @@ public CommitDiscardWrapperComponent getEbsCreateTriagingCompo final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(triagingDataForm, triagingDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); - TriagingDto newEvent = triagingDataForm.getValue(); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setTriaging(triagingDataForm.getValue()); FacadeProvider.getEbsFacade().save(ebs); SormasUI.refreshView(); navigateToSignalVerification(ebs.getUuid(), false); }); - return editView; } - public CommitDiscardWrapperComponent getEbsCreateSignalVerficationComponent( + public CommitDiscardWrapperComponent getEbsCreateSignalVerificationComponent( final String ebsUuid, boolean isEditAllowed) { EbsDto ebs = findEbs(ebsUuid); @@ -214,7 +210,7 @@ public CommitDiscardWrapperComponent getEbsCreateSig signalVerificationDataForm.setValue(ebs.getSignalVerification()); final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(signalVerificationDataForm, signalVerificationDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setSignalVerification(signalVerificationDataForm.getValue()); callDeathCount(signalVerificationDataForm); @@ -246,7 +242,7 @@ public CommitDiscardWrapperComponent getEbsCreateRiskAss riskAssessmentDataForm.setValue(riskAssessmentDto); final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(riskAssessmentDataForm, riskAssessmentDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setRiskAssessment(riskAssessmentDataForm.getValue()); riskAssessmentDto.setRiskAssessment(riskAssessmentDataForm.getValue().getRiskAssessment()); @@ -379,7 +375,7 @@ public CommitDiscardWrapperComponent getEbsCreateAlertComponen alertDataForm.setValue(ebsAlertDto); final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(alertDataForm, alertDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setAlert(alertDataForm.getValue()); ebsAlertDto.setAlertIssued(alertDataForm.getValue().getAlertIssued()); @@ -397,10 +393,8 @@ private EbsDto findEvent(String uuid) { private String getDeleteConfirmationDetails(List eventUuids) { // boolean hasPendingRequest = FacadeProvider.getSormasToSormasEbsFacade().hasPendingRequest(eventUuids); -// -// return hasPendingRequest ? "
" + I18nProperties.getString(Strings.messageDeleteWithPendingShareRequest) + "
" : ""; - return ""; + return "
" + I18nProperties.getString(Strings.messageDeleteWithPendingShareRequest) + "
"; } private Consumer> bulkOperationCallback(EbsSignalGrid eventGrid, Window popupWindow) { @@ -471,27 +465,35 @@ public CommitDiscardWrapperComponent getEbsDataEditComponent(final }); final String uuid = event.getUuid(); -// if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_DELETE)) { -// editView.addDeleteWithReasonOrRestoreListener((deleteDetails) -> { -// VaadinUiUtil.showSimplePopupWindow( -// I18nProperties.getString(Strings.headingEventNotDeleted), -// I18nProperties.getString(Strings.messageEventsNotDeletedLinkedEntitiesReason)); -// UI.getCurrent().getNavigator().navigateTo(EventsView.VIEW_NAME); -// }, -// getDeleteConfirmationDetails(Collections.singletonList(eventUuid)), (deleteDetails) -> { -// FacadeProvider.getEbsFacade().restore(uuid); -// UI.getCurrent().getNavigator().navigateTo(EBSView.VIEW_NAME); -// }, -// I18nProperties.getString(Strings.entityEvent), uuid, FacadeProvider.getEbsFacade()); -// } - - // Initialize 'Archive' button -// if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_ARCHIVE)) { -// ControllerProvider.getArchiveController().addArchivingButton(event, ArchiveHandlers.forEbs(), editView, () -> { -// navigateToData(uuid); -// }); -// } - editView.getDiscardButton().setCaption("Cancel"); + if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_DELETE)) { + editView.addDeleteWithReasonOrRestoreListener((deleteDetails) -> { + try { + FacadeProvider.getEbsFacade().delete(uuid, deleteDetails); + } catch (ExternalSurveillanceToolRuntimeException e) { + Notification.show( + String.format( + I18nProperties.getString(Strings.ExternalSurveillanceToolGateway_notificationEntryNotDeleted), + DataHelper.getShortUuid(uuid)), + "", + Type.ERROR_MESSAGE); + + VaadinUiUtil.showSimplePopupWindow( + I18nProperties.getString(Strings.headingEventNotDeleted), + I18nProperties.getString(Strings.messageEventsNotDeletedLinkedEntitiesReason)); + } + UI.getCurrent().getNavigator().navigateTo(EBSView.VIEW_NAME); + }, getDeleteConfirmationDetails(Collections.singletonList(eventUuid)), (deleteDetails) -> { + FacadeProvider.getEbsFacade().restore(uuid); + UI.getCurrent().getNavigator().navigateTo(EBSView.VIEW_NAME); + }, I18nProperties.getString(Strings.entityEvent), uuid, FacadeProvider.getEbsFacade()); + } + +// Initialize 'Archive' button + if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_ARCHIVE)) { + ControllerProvider.getArchiveController() + .addArchivingButton(event, ArchiveHandlers.forEbs(), editView, () -> navigateToData(uuid)); + } + editView.getDiscardButton().setCaption(Captions.actionCancel); return editView; } @@ -506,7 +508,7 @@ public CommitDiscardWrapperComponent getRiskAssessmented riskAssessmentDataForm.setValue(riskAssessmentDto); final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(riskAssessmentDataForm, riskAssessmentDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setRiskAssessment(riskAssessmentDataForm.getValue()); riskAssessmentDto.setRiskAssessment(riskAssessmentDataForm.getValue().getRiskAssessment()); @@ -532,7 +534,7 @@ public CommitDiscardWrapperComponent getEbsCreateAlertEditComp alertDataForm.setValue(ebsAlertDto); final CommitDiscardWrapperComponent editView = new CommitDiscardWrapperComponent(alertDataForm, alertDataForm.getFieldGroup()); - editView.getDiscardButton().setCaption("Cancel"); + editView.getDiscardButton().setCaption(Captions.actionCancel); editView.addCommitListener(() -> { ebs.setAlert(alertDataForm.getValue()); ebsAlertDto.setAlertIssued(alertDataForm.getValue().getAlertIssued());