Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 9e9c2b0

Browse files
committed
SORMAS-Foundation#2972 Add warning regarding "Place Description"
1 parent 120be85 commit 9e9c2b0

5 files changed

Lines changed: 38 additions & 9 deletions

File tree

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,7 @@ public interface Strings {
776776
String promptTypeToAdd = "promptTypeToAdd";
777777
String promptUserSearch = "promptUserSearch";
778778
String promtSampleDataType = "promtSampleDataType";
779+
String pseudonymisedCasesSelectedWarning = "pseudonymisedCasesSelectedWarning";
779780
String quarantineEnd = "quarantineEnd";
780781
String quarterShort = "quarterShort";
781782
String reportedBy = "reportedBy";

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,7 @@ messageCreateContactCase=The final laboratory result of the contact the sample a
580580
messageDatabaseExportFailed = Please contact an admin and notify them about this problem
581581
messageEntryCreated = Entry created
582582
messageEpiDataHint = <i>Please indicate if any of the following is relevant for the patient during the incubation period.</i>
583+
pseudonymisedCasesSelectedWarning =<p> For of the bulked edited cases you have only limited access to the sensitive data.</p><p> For those cases the value you put into "Place Description" will be ignored.</p>
583584
messageEpidNumberWarning = The entered epid number is already used by another case. Please assign a new epid number to this or the other case.
584585
messageErrorReportNotAvailable = The error report file is not available. Please contact an admin and tell them about this issue.
585586
messageEventArchived = Event has been archived

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,18 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.ui.caze;
1919

20+
import com.vaadin.server.ThemeResource;
21+
import com.vaadin.shared.ui.ContentMode;
22+
import com.vaadin.ui.Image;
23+
import com.vaadin.ui.Label;
2024
import com.vaadin.ui.themes.ValoTheme;
25+
import de.symeda.sormas.api.caze.CaseIndexDto;
2126
import de.symeda.sormas.api.event.TypeOfPlace;
2227
import de.symeda.sormas.api.facility.FacilityReferenceDto;
28+
import de.symeda.sormas.api.i18n.Strings;
2329
import de.symeda.sormas.ui.utils.CssStyles;
30+
import static de.symeda.sormas.ui.utils.CssStyles.LABEL_WARNING;
31+
import static de.symeda.sormas.ui.utils.CssStyles.TEXTFIELD_ROW;
2432
import static de.symeda.sormas.ui.utils.CssStyles.VSPACE_4;
2533
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidColumn;
2634
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidColumnLoc;
@@ -30,6 +38,7 @@
3038
import static de.symeda.sormas.ui.utils.LayoutUtil.locs;
3139

3240
import java.util.Arrays;
41+
import java.util.Collection;
3342
import java.util.Collections;
3443
import java.util.List;
3544

@@ -67,9 +76,9 @@ public class BulkCaseDataForm extends AbstractEditForm<CaseBulkEditData> {
6776
private static final String TYPE_GROUP_LOC = "typeGroupLoc";
6877
private static final String TYPE_LOC = "typeLoc";
6978
private static final String FACILITY_OR_HOME_LOC = "facilityOrHomeLoc";
70-
private static final String FACILITY_TYPE_GROUP_LOC = "typeGroupLoc";
7179
private static final String HEALTH_FACILITY_DETAILS = "healthFacilityDetails";
72-
80+
private static final String WARNING_ICON = "warningIcon";
81+
private static final String WARNING_LABEL = "warningLabel";
7382

7483
//@formatter:off
7584
private static final String HTML_LAYOUT =
@@ -94,7 +103,9 @@ public class BulkCaseDataForm extends AbstractEditForm<CaseBulkEditData> {
94103
CaseBulkEditData.DISTRICT,
95104
CaseBulkEditData.COMMUNITY) +
96105
fluidRowLocs(FACILITY_OR_HOME_LOC,TYPE_GROUP_LOC, TYPE_LOC)+
97-
fluidRowLocs(CaseDataDto.HEALTH_FACILITY,CaseBulkEditData.HEALTH_FACILITY_DETAILS);
106+
fluidRowLocs(WARNING_ICON)+
107+
fluidRowLocs(WARNING_LABEL)+
108+
fluidRowLocs(CaseDataDto.HEALTH_FACILITY,BulkCaseDataForm.HEALTH_FACILITY_DETAILS);
98109
//@formatter:on
99110

100111
private final DistrictReferenceDto singleSelectedDistrict;
@@ -110,16 +121,21 @@ public class BulkCaseDataForm extends AbstractEditForm<CaseBulkEditData> {
110121
private ComboBox facilityTypeGroup;
111122
private ComboBox facilityType;
112123
private TextField healthFacilityDetails;
124+
private Label warningLabel;
125+
private Collection selectedCases;
126+
private Image warningIcon;
127+
113128

114-
public BulkCaseDataForm(DistrictReferenceDto singleSelectedDistrict) {
129+
public BulkCaseDataForm(DistrictReferenceDto singleSelectedDistrict, Collection<? extends CaseIndexDto> selectedCases) {
115130
super(CaseBulkEditData.class, CaseDataDto.I18N_PREFIX);
116131
this.singleSelectedDistrict = singleSelectedDistrict;
117132
setWidth(680, Unit.PIXELS);
118133
hideValidationUntilNextCommit();
119134
initialized = true;
135+
this.selectedCases = selectedCases;
120136
addFields();
121137
}
122-
138+
@SuppressWarnings("deprecation")
123139
@Override
124140
protected void addFields() {
125141
if (!initialized) {
@@ -299,7 +315,12 @@ protected void addFields() {
299315
}
300316
}
301317
});
302-
318+
warningLabel = new Label(I18nProperties.getString(Strings.pseudonymisedCasesSelectedWarning));
319+
warningLabel.setContentMode(ContentMode.HTML);
320+
CssStyles.style(warningLabel, CssStyles.LABEL_BOLD, CssStyles.LABEL_UPPERCASE,LABEL_WARNING);
321+
warningIcon = new Image(null, new ThemeResource("img/warning-icon.png"));
322+
warningIcon.setHeight(35, Unit.PIXELS);
323+
warningIcon.setWidth(35, Unit.PIXELS);
303324
facilityOrHome.addValueChangeListener(e -> {
304325
FieldHelper.removeItems(facility);
305326
if (TypeOfPlace.FACILITY.equals(facilityOrHome.getValue())) {
@@ -313,7 +334,14 @@ protected void addFields() {
313334
if (facilityType.getValue() != null) {
314335
updateFacility((DistrictReferenceDto) district.getValue(), (CommunityReferenceDto) community.getValue(), facility);
315336
}
337+
this.getContent().removeComponent(warningLabel);
316338
} else {
339+
long pseudonymizedCount = selectedCases.stream().filter(caze->
340+
((CaseIndexDto)caze).isPseudonymized()).count();
341+
if(pseudonymizedCount>0){
342+
this.getContent().addComponent(warningIcon,WARNING_ICON);
343+
this.getContent().addComponent(warningLabel,WARNING_LABEL);
344+
}
317345
FacilityReferenceDto noFacilityRef = FacadeProvider.getFacilityFacade().getByUuid(FacilityDto.NONE_FACILITY_UUID).toReference();
318346
facility.addItem(noFacilityRef);
319347
facility.setValue(noFacilityRef);
@@ -431,10 +459,10 @@ private void updateFacilityFields(ComboBox cbFacility, TextField tfFacilityDetai
431459
boolean visibleAndRequired = otherHealthFacility || noneHealthFacility;
432460

433461
tfFacilityDetails.setVisible(visibleAndRequired);
434-
tfFacilityDetails.setRequired(visibleAndRequired);
435462

436463
if (otherHealthFacility) {
437464
tfFacilityDetails.setCaption(I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, CaseDataDto.HEALTH_FACILITY_DETAILS));
465+
tfFacilityDetails.setRequired(visibleAndRequired);
438466
}
439467
if (noneHealthFacility) {
440468
tfFacilityDetails.setCaption(I18nProperties.getCaption(Captions.CaseData_noneHealthFacilityDetails));

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseBulkEditData.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public class CaseBulkEditData extends EntityDto {
3434
public static final String DISTRICT = "district";
3535
public static final String COMMUNITY = "community";
3636
public static final String HEALTH_FACILITY = "healthFacility";
37-
public static final String HEALTH_FACILITY_DETAILS = "healthFacilityDetails";
3837

3938
private Disease disease;
4039
private String diseaseDetails;

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ public void showBulkCaseDataEditComponent(Collection<? extends CaseIndexDto> sel
642642
bulkEditData.setRegion(region);
643643
bulkEditData.setDistrict(district);
644644

645-
BulkCaseDataForm form = new BulkCaseDataForm(district);
645+
BulkCaseDataForm form = new BulkCaseDataForm(district,selectedCases);
646646
form.setValue(bulkEditData);
647647
final CommitDiscardWrapperComponent<BulkCaseDataForm> editView =
648648
new CommitDiscardWrapperComponent<BulkCaseDataForm>(form, form.getFieldGroup());

0 commit comments

Comments
 (0)