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

Commit 98bf597

Browse files
Merge pull request SORMAS-Foundation#3153 from hzi-braunschweig/feature-3128-FilterBySurvOff
SORMAS-Foundation#3128 - update surv officer filter field of case filter form to corre…
2 parents 5acd40b + c2ddd0c commit 98bf597

1 file changed

Lines changed: 28 additions & 10 deletions

File tree

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

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package de.symeda.sormas.ui.caze;
22

3+
import static de.symeda.sormas.ui.utils.LayoutUtil.filterLocs;
4+
import static de.symeda.sormas.ui.utils.LayoutUtil.filterLocsCss;
5+
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
6+
7+
import java.util.Date;
8+
import java.util.stream.Stream;
9+
310
import com.vaadin.server.Page;
411
import com.vaadin.server.Sizeable;
512
import com.vaadin.ui.CustomLayout;
@@ -12,6 +19,7 @@
1219
import com.vaadin.v7.ui.ComboBox;
1320
import com.vaadin.v7.ui.Field;
1421
import com.vaadin.v7.ui.TextField;
22+
1523
import de.symeda.sormas.api.FacadeProvider;
1624
import de.symeda.sormas.api.caze.CaseClassification;
1725
import de.symeda.sormas.api.caze.CaseCriteria;
@@ -44,13 +52,6 @@
4452
import de.symeda.sormas.ui.utils.FieldConfiguration;
4553
import de.symeda.sormas.ui.utils.FieldHelper;
4654

47-
import java.util.Date;
48-
import java.util.stream.Stream;
49-
50-
import static de.symeda.sormas.ui.utils.LayoutUtil.filterLocs;
51-
import static de.symeda.sormas.ui.utils.LayoutUtil.filterLocsCss;
52-
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
53-
5455
public class CaseFilterForm extends AbstractFilterForm<CaseCriteria> {
5556

5657
private static final long serialVersionUID = -8326451364091398731L;
@@ -161,9 +162,7 @@ public void addMoreFilters(CustomLayout moreFiltersContainer) {
161162
}
162163

163164
ComboBox officerField = addField(moreFiltersContainer, FieldConfiguration.pixelSized(CaseDataDto.SURVEILLANCE_OFFICER, 140));
164-
if (user.getRegion() != null) {
165-
officerField.addItems(FacadeProvider.getUserFacade().getUsersByRegionAndRoles(user.getRegion(), UserRole.SURVEILLANCE_OFFICER));
166-
}
165+
officerField.addItems(FacadeProvider.getUserFacade().getUsersByRegionAndRoles(user.getRegion(), UserRole.SURVEILLANCE_OFFICER));
167166

168167
if (FacadeProvider.getFeatureConfigurationFacade().isFeatureEnabled(FeatureType.CASE_FOLLOWUP)) {
169168
Field<?> followUpUntilTo = addField(
@@ -302,6 +301,8 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
302301
RegionReferenceDto region = user.getRegion() != null ? user.getRegion() : (RegionReferenceDto) event.getProperty().getValue();
303302

304303
if (!DataHelper.equal(region, criteria.getRegion())) {
304+
final ComboBox officerField = getField(CaseDataDto.SURVEILLANCE_OFFICER);
305+
officerField.removeAllItems();
305306
if (region != null) {
306307
enableFields(CaseDataDto.DISTRICT);
307308
FieldHelper.updateItems(districtField, FacadeProvider.getDistrictFacade().getAllActiveByRegion(region.getUuid()));
@@ -321,6 +322,7 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
321322
if (pointOfEntryField != null) {
322323
pointOfEntryField.setEnabled(false);
323324
}
325+
officerField.addItems(FacadeProvider.getUserFacade().getUsersByRegionAndRoles(region, UserRole.SURVEILLANCE_OFFICER));
324326
} else {
325327
clearAndDisableFields(CaseDataDto.DISTRICT, CaseDataDto.COMMUNITY);
326328

@@ -337,6 +339,8 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
337339
if (pointOfEntryField != null) {
338340
pointOfEntryField.setEnabled(false);
339341
}
342+
343+
officerField.addItems(FacadeProvider.getUserFacade().getUsersByRegionAndRoles(user.getRegion(), UserRole.SURVEILLANCE_OFFICER));
340344
}
341345
}
342346

@@ -346,6 +350,8 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
346350
DistrictReferenceDto newDistrict = (DistrictReferenceDto) event.getProperty().getValue();
347351

348352
if (!DataHelper.equal(newDistrict, criteria.getDistrict())) {
353+
final ComboBox officerField = getField(CaseDataDto.SURVEILLANCE_OFFICER);
354+
officerField.removeAllItems();
349355
if (newDistrict != null) {
350356
communityField.setEnabled(true);
351357
if (facilityTypeGroupField != null) {
@@ -365,6 +371,8 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
365371
pointOfEntryField,
366372
FacadeProvider.getPointOfEntryFacade().getAllActiveByDistrict(newDistrict.getUuid(), true));
367373
}
374+
375+
officerField.addItems(FacadeProvider.getUserFacade().getUserRefsByDistrict(newDistrict, false, UserRole.SURVEILLANCE_OFFICER));
368376
} else {
369377
clearAndDisableFields(CaseDataDto.COMMUNITY);
370378

@@ -381,6 +389,16 @@ protected void applyDependenciesOnFieldChange(String propertyId, Property.ValueC
381389
if (pointOfEntryField != null) {
382390
clearAndDisableFields(CaseDataDto.POINT_OF_ENTRY);
383391
}
392+
393+
final Object region = getField(CaseDataDto.REGION).getValue();
394+
if (region != null) {
395+
officerField.addItems(
396+
FacadeProvider.getUserFacade().getUsersByRegionAndRoles((RegionReferenceDto) region, UserRole.SURVEILLANCE_OFFICER));
397+
} else {
398+
officerField
399+
.addItems(FacadeProvider.getUserFacade().getUsersByRegionAndRoles(user.getRegion(), UserRole.SURVEILLANCE_OFFICER));
400+
}
401+
384402
}
385403
}
386404

0 commit comments

Comments
 (0)