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

Commit 99e0542

Browse files
author
barnabartha
committed
SORMAS-Foundation#2890 - correct validation messages + disable jurisdiction fields instead of making them read only
1 parent 1d9e11c commit 99e0542

4 files changed

Lines changed: 26 additions & 24 deletions

File tree

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ public interface Validations {
4747
String importCommunityNotUnique = "importCommunityNotUnique";
4848
String importDistrictAlreadyExists = "importDistrictAlreadyExists";
4949
String importDistrictNotUnique = "importDistrictNotUnique";
50-
String importEntryCommunityNotInJurisdiction = "importEntryCommunityNotInJurisdiction";
51-
String importEntryDistrictNotInJurisdiction = "importEntryDistrictNotInJurisdiction";
50+
String importEntryCommunityNotInUsersJurisdiction = "importEntryCommunityNotInUsersJurisdiction";
51+
String importEntryDistrictNotInUsersJurisdiction = "importEntryDistrictNotInUsersJurisdiction";
5252
String importEntryDoesNotExist = "importEntryDoesNotExist";
5353
String importEntryDoesNotExistDbOrCommunity = "importEntryDoesNotExistDbOrCommunity";
5454
String importEntryDoesNotExistDbOrDistrict = "importEntryDoesNotExistDbOrDistrict";
5555
String importEntryDoesNotExistDbOrRegion = "importEntryDoesNotExistDbOrRegion";
56-
String importEntryRegionNotInJurisdiction = "importEntryRegionNotInJurisdiction";
56+
String importEntryRegionNotInUsersJurisdiction = "importEntryRegionNotInUsersJurisdiction";
5757
String importErrorInColumn = "importErrorInColumn";
5858
String importFacilityAlreadyExists = "importFacilityAlreadyExists";
5959
String importFacilityNotUniqueInCommunity = "importFacilityNotUniqueInCommunity";

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ importEntryDoesNotExist = Invalid value %s in column %s; Entry does not exist in
3434
importEntryDoesNotExistDbOrCommunity = Invalid value %s in column %s; Entry does not exist in the database or in the specified community or is archived (Or maybe a wrong facility type was specified)
3535
importEntryDoesNotExistDbOrDistrict = Invalid value %s in column %s; Entry does not exist in the database or in the specified district or is archived (Or maybe a wrong facility type was specified)
3636
importEntryDoesNotExistDbOrRegion = Invalid value %s in column %s; Entry does not exist in the database or in the specified region or is archived
37-
importEntryRegionNotInJurisdiction = Invalid value %s in column %s; Specified region is not within you're user's jurisdiction
38-
importEntryDistrictNotInJurisdiction = Invalid value %s in column %s; Specified region is not within you're user's jurisdiction
39-
importEntryCommunityNotInJurisdiction = Invalid value %s in column %s; Specified region is not within you're user's jurisdiction
37+
importEntryRegionNotInUsersJurisdiction = Invalid value %s in column %s; Specified region is not within your user's jurisdiction
38+
importEntryDistrictNotInUsersJurisdiction = Invalid value %s in column %s; Specified region is not within your user's jurisdiction
39+
importEntryCommunityNotInUsersJurisdiction = Invalid value %s in column %s; Specified region is not within your user's jurisdiction
4040
importErrorInColumn = The import failed because of an error in column %s
4141
importFacilityNotUniqueInCommunity = Invalid value %s in column %s; Facility name is not unique in the chosen community, make sure there is only one facility with this name belonging to the chosen community in the database
4242
importFacilityNotUniqueInDistrict = Invalid value %s in column %s; Facility name is not unique in the chosen district, make sure there is only one facility with this name belonging to the chosen district in the database or specify a community

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/campaigndata/CampaignFormDataEditForm.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@
1515

1616
package de.symeda.sormas.ui.campaign.campaigndata;
1717

18+
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
19+
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
20+
21+
import java.util.Objects;
22+
1823
import com.vaadin.ui.GridLayout;
1924
import com.vaadin.v7.data.Validator;
2025
import com.vaadin.v7.data.util.converter.Converter;
2126
import com.vaadin.v7.ui.ComboBox;
2227
import com.vaadin.v7.ui.DateField;
28+
2329
import de.symeda.sormas.api.FacadeProvider;
2430
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
2531
import de.symeda.sormas.api.campaign.form.CampaignFormMetaDto;
@@ -35,17 +41,12 @@
3541
import de.symeda.sormas.ui.utils.CssStyles;
3642
import de.symeda.sormas.ui.utils.FieldHelper;
3743

38-
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
39-
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
40-
import java.util.Objects;
41-
4244
public class CampaignFormDataEditForm extends AbstractEditForm<CampaignFormDataDto> {
4345

4446
public static final String CAMPAIGN_FORM_LOC = "campaignFormLoc";
4547
private AreaReferenceDto area;
4648
public static final String AREA = "area";
4749

48-
4950
public AreaReferenceDto getArea() {
5051
return area;
5152
}
@@ -93,24 +94,24 @@ protected void addFields() {
9394
addInfrastructureListeners(cbRegion, cbDistrict, cbCommunity);
9495
cbRegion.addItems(FacadeProvider.getRegionFacade().getAllActiveAsReference());
9596

96-
if (FacadeProvider.getFeatureConfigurationFacade().isFeatureEnabled(FeatureType.INFRASTRUCTURE_TYPE_AREA)){
97-
ComboBox cbArea = addCustomField(CampaignFormDataEditForm.AREA,AreaReferenceDto.class,ComboBox.class);
97+
if (FacadeProvider.getFeatureConfigurationFacade().isFeatureEnabled(FeatureType.INFRASTRUCTURE_TYPE_AREA)) {
98+
ComboBox cbArea = addCustomField(CampaignFormDataEditForm.AREA, AreaReferenceDto.class, ComboBox.class);
9899
cbArea.setCaption(I18nProperties.getCaption(Captions.CampaignFormData_area));
99-
setRequired(true,CampaignFormDataEditForm.AREA);
100+
setRequired(true, CampaignFormDataEditForm.AREA);
100101
cbArea.addItems(FacadeProvider.getAreaFacade().getAllActiveAsReference());
101102
cbArea.addValueChangeListener(e -> {
102-
AreaReferenceDto area =(AreaReferenceDto) e.getProperty().getValue();
103+
AreaReferenceDto area = (AreaReferenceDto) e.getProperty().getValue();
103104

104-
if(Objects.nonNull(area) && cbRegion.isEmpty()) {
105+
if (Objects.nonNull(area) && cbRegion.isEmpty()) {
105106
cbRegion.removeAllItems();
106107
cbRegion.addItems(FacadeProvider.getRegionFacade().getAllActiveByArea((area.getUuid())));
107-
} else if(Objects.isNull(area)){
108+
} else if (Objects.isNull(area)) {
108109
cbRegion.addItems(FacadeProvider.getRegionFacade().getAllActiveAsReference());
109110
}
110111
});
111112
cbRegion.addValueChangeListener(e -> {
112113
RegionReferenceDto region = (RegionReferenceDto) e.getProperty().getValue();
113-
if(Objects.nonNull(region)){
114+
if (Objects.nonNull(region)) {
114115
cbArea.setValue(FacadeProvider.getRegionFacade().getRegionByUuid(region.getUuid()).getArea());
115116
}
116117
});
@@ -120,17 +121,18 @@ protected void addFields() {
120121

121122
if (currentUser.getRegion() != null) {
122123
cbRegion.setValue(currentUser.getRegion());
123-
cbRegion.setReadOnly(true);
124+
cbRegion.setEnabled(false);
124125
}
125126
if (currentUser.getDistrict() != null) {
126127
cbDistrict.setValue(currentUser.getDistrict());
127-
cbDistrict.setReadOnly(true);
128+
cbDistrict.setEnabled(false);
128129
}
129130
if (currentUser.getCommunity() != null) {
130131
cbCommunity.setValue(currentUser.getCommunity());
131-
cbCommunity.setReadOnly(true);
132+
cbCommunity.setEnabled(false);
132133
}
133134
}
135+
134136
private void addInfrastructureListeners(ComboBox cbRegion, ComboBox cbDistrict, ComboBox cbCommunity) {
135137
cbRegion.addValueChangeListener(e -> {
136138
RegionReferenceDto region = (RegionReferenceDto) e.getProperty().getValue();

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/importer/CampaignFormDataImporter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ private CampaignFormDataDto insertColumnEntryIntoData(CampaignFormDataDto campai
170170
if (jurisdictionLevel == JurisdictionLevel.DISTRICT && !currentUserDto.getDistrict().getCaption().equals(entry[i])) {
171171
throw new ImportErrorException(
172172
I18nProperties.getValidationError(
173-
Validations.importEntryDistrictNotInJurisdiction,
173+
Validations.importEntryDistrictNotInUsersJurisdiction,
174174
entry,
175175
buildEntityProperty(entryHeaderPath)));
176176
}
@@ -193,7 +193,7 @@ private CampaignFormDataDto insertColumnEntryIntoData(CampaignFormDataDto campai
193193
if (jurisdictionLevel == JurisdictionLevel.COMMUNITY && !currentUserDto.getCommunity().getCaption().equals(entry[i])) {
194194
throw new ImportErrorException(
195195
I18nProperties.getValidationError(
196-
Validations.importEntryCommunityNotInJurisdiction,
196+
Validations.importEntryCommunityNotInUsersJurisdiction,
197197
entry,
198198
buildEntityProperty(entryHeaderPath)));
199199
}
@@ -249,7 +249,7 @@ protected boolean executeDefaultInvokings(PropertyDescriptor pd, Object element,
249249
final JurisdictionLevel jurisdictionLevel = UserRole.getJurisdictionLevel(currentUserDto.getUserRoles());
250250
if (jurisdictionLevel == JurisdictionLevel.REGION && !currentUserDto.getRegion().getCaption().equals(entry)) {
251251
throw new ImportErrorException(
252-
I18nProperties.getValidationError(Validations.importEntryRegionNotInJurisdiction, entry, buildEntityProperty(entryHeaderPath)));
252+
I18nProperties.getValidationError(Validations.importEntryRegionNotInUsersJurisdiction, entry, buildEntityProperty(entryHeaderPath)));
253253
}
254254
}
255255
return returnBoolean;

0 commit comments

Comments
 (0)