Skip to content

Commit 9832cc1

Browse files
code refactoring and confirmation pop up while unlinking the event
1 parent 9e31f1c commit 9832cc1

File tree

6 files changed

+20
-24
lines changed

6 files changed

+20
-24
lines changed

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ public interface Strings {
190190
String confirmationSinceExternalMessages = "confirmationSinceExternalMessages";
191191
String confirmationUnclearExternalMessage = "confirmationUnclearExternalMessage";
192192
String confirmationUnlinkCaseFromEvent = "confirmationUnlinkCaseFromEvent";
193+
String confirmationUnlinkEnvironmentFromEvent = "confirmationUnlinkEnvironmentFromEvent";
193194
String confirmationUnlinkEventFromEnvironment = "confirmationUnlinkEventFromEnvironment";
194195
String confirmationUpdateCompleteness = "confirmationUpdateCompleteness";
195196
String confirmationVaccinationStatusUpdate = "confirmationVaccinationStatusUpdate";
@@ -883,6 +884,7 @@ public interface Strings {
883884
String headingUnavailableTaskEdition = "headingUnavailableTaskEdition";
884885
String headingUnderFollowUp = "headingUnderFollowUp";
885886
String headingUnlinkCaseFromEvent = "headingUnlinkCaseFromEvent";
887+
String headingUnlinkEnvironmentFromEvent = "headingUnlinkEnvironmentFromEvent";
886888
String headingUnlinkEventFromEnvironment = "headingUnlinkEventFromEnvironment";
887889
String headingUpdateCaseWithNewDiseaseVariant = "headingUpdateCaseWithNewDiseaseVariant";
888890
String headingUpdatedPathogenTestInformation = "headingUpdatedPathogenTestInformation";

sormas-api/src/main/resources/strings.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ confirmationLocationFacilityAddressOverride = The selected facility has location
243243
confirmationCancelExternalFollowUpPopup=Are you sure you want to cancel external follow-ups in the eDiary?
244244
confirmationUnlinkCaseFromEvent = Are you sure you want to unlink this case from this event?
245245
confirmationUnlinkEventFromEnvironment = Are you sure you want to unlink this event from this environment?
246+
confirmationUnlinkEnvironmentFromEvent = Are you sure you want to unlink this environment from this event?
246247
confirmationDeleteExternalMessages = Are you sure you want to delete all %d selected messages?
247248
confirmationUnclearExternalMessage = Are you sure you want to mark this message as unclear?
248249
confirmationManuallyForwardedExternalMessage = Are you sure you want to mark this message as forwarded?
@@ -827,6 +828,7 @@ headingCampaignFormDataAlreadyExisting = Campaign Form Data Already Existing
827828
headingActivityAsCaseDetails = Activity as Case Details
828829
headingUnlinkCaseFromEvent = Unlink case from event
829830
headingUnlinkEventFromEnvironment = Unlink event from environment
831+
headingUnlinkEnvironmentFromEvent = Unlink environment from event
830832
headingUpdatePersonContactDetails = Update existing person contact details
831833
headingEventGroupLinkEventIssue = Issue while linking events to event group
832834
headingEventGroupUnlinkEventIssue = Issue while unlinking events to event group

sormas-backend/src/main/java/de/symeda/sormas/backend/environment/Environment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,10 @@ public void setVectorType(VectorType vectorType) {
246246
this.vectorType = vectorType;
247247
}
248248

249-
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
249+
@ManyToMany(fetch = FetchType.LAZY)
250250
@JoinTable(name = EVENTS_ENVIRONMENTS_TABLE_NAME,
251251
joinColumns = @JoinColumn(name = "environment_id"),
252252
inverseJoinColumns = @JoinColumn(name = "event_id"))
253-
254253
public List<Event> getEvents() {
255254
return events;
256255
}

sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentService.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,24 +57,6 @@ public EnvironmentService() {
5757
super(Environment.class, DeletableEntityType.ENVIRONMENT);
5858
}
5959

60-
/*
61-
* public List<EnvironmentIndexDto> getAllEnvironmentsByEvent(EnvironmentCriteria criteria) {
62-
* Predicate filter = null;
63-
* CriteriaBuilder cb = em.getCriteriaBuilder();
64-
* CriteriaQuery<EnvironmentIndexDto> cq = cb.createQuery(EnvironmentIndexDto.class);
65-
* Root<Environment> root = cq.from(Environment.class);
66-
* EnvironmentQueryContext queryContext = new EnvironmentQueryContext(cb, cq, root);
67-
* EnvironmentJoins joins = queryContext.getJoins();
68-
* Join<Environment, Event> eventJoin = joins.getEvents().join(Event.ENVIRONMENTS, JoinType.LEFT);
69-
* filter = CriteriaBuilderHelper.and(cb, filter, cb.equal(eventJoin.get(Event.UUID), criteria.getEvent().getUuid()));
70-
* if (filter != null) {
71-
* cq.where(filter);
72-
* }
73-
* cq.distinct(true);
74-
* return em.createQuery(cq).getResultList();
75-
* }
76-
*/
77-
7860
public String getSimilarEnvironmentUuid(EnvironmentCriteria criteria) {
7961

8062
CriteriaBuilder cb = em.getCriteriaBuilder();

sormas-backend/src/main/java/de/symeda/sormas/backend/event/Event.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ public class Event extends CoreAdo implements SormasToSormasShareable, HasExtern
8484
public static final String TABLE_NAME = "events";
8585

8686
public static final String EVENTS_EVENT_GROUPS_TABLE_NAME = "events_eventgroups";
87-
public static final String EVENTS_ENVIRONMENTS_TABLE_NAME = "events_environments";
8887

8988
public static final String EXTERNAL_ID = "externalId";
9089
public static final String EXTERNAL_TOKEN = "externalToken";
@@ -843,7 +842,7 @@ public void setExternalShares(List<ExternalShareInfo> externalShares) {
843842
this.externalShares = externalShares;
844843
}
845844

846-
@ManyToMany(mappedBy = Environment.EVENTS, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
845+
@ManyToMany(mappedBy = Environment.EVENTS, fetch = FetchType.LAZY)
847846
public List<Environment> getEnvironments() {
848847
return environments;
849848
}

sormas-ui/src/main/java/de/symeda/sormas/ui/environment/EnvironmentList.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
import de.symeda.sormas.api.event.EventReferenceDto;
1212
import de.symeda.sormas.api.i18n.Captions;
1313
import de.symeda.sormas.api.i18n.I18nProperties;
14+
import de.symeda.sormas.api.i18n.Strings;
1415
import de.symeda.sormas.api.user.UserRight;
1516
import de.symeda.sormas.api.utils.DataHelper;
1617
import de.symeda.sormas.ui.ControllerProvider;
1718
import de.symeda.sormas.ui.UiUtil;
1819
import de.symeda.sormas.ui.utils.PaginationList;
20+
import de.symeda.sormas.ui.utils.VaadinUiUtil;
1921

2022
public class EnvironmentList extends PaginationList<EnvironmentIndexDto> {
2123

@@ -56,8 +58,18 @@ protected void drawDisplayedEntries() {
5658

5759
if (UiUtil.permitted(UserRight.ENVIRONMENT_CREATE)) {
5860
listEntry.addUnlinkEnvironmentListener(i, (Button.ClickListener) clickEvent -> {
59-
ControllerProvider.getEnvironmentController().unlinkEnvironment(environmentIndex, event.getUuid());
60-
reload();
61+
VaadinUiUtil.showConfirmationPopup(
62+
I18nProperties.getString(Strings.headingUnlinkEnvironmentFromEvent),
63+
new Label(I18nProperties.getString(Strings.confirmationUnlinkEnvironmentFromEvent)),
64+
I18nProperties.getString(Strings.yes),
65+
I18nProperties.getString(Strings.no),
66+
480,
67+
confirmed -> {
68+
if (confirmed) {
69+
ControllerProvider.getEnvironmentController().unlinkEnvironment(environmentIndex, event.getUuid());
70+
reload();
71+
}
72+
});
6173
});
6274
}
6375

0 commit comments

Comments
 (0)