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

Commit 721a5e6

Browse files
author
barnabartha
committed
SORMAS-Foundation#2753 - show filters + filter based on user jurisdiction
1 parent edae964 commit 721a5e6

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/dashboard/campaigns/CampaignDashboardFilterLayout.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@ private void createCampaignFilter() {
6262

6363
@SuppressWarnings("deprecation")
6464
private void createJurisdictionFilters() {
65-
// Region filter
66-
setFilterVisibilitiesBasedOnArea(areaFilter.getValue());
67-
if (UserProvider.getCurrent().getUser().getArea() == null) {
65+
final AreaReferenceDto userArea = UserProvider.getCurrent().getUser().getArea();
66+
final RegionReferenceDto userRegion = UserProvider.getCurrent().getUser().getRegion();
67+
final DistrictReferenceDto userDistrict = UserProvider.getCurrent().getUser().getDistrict();
68+
69+
dashboardDataProvider.setArea(userArea);
70+
if (userArea == null && userRegion == null) {
71+
setFilterVisibilitiesBasedOnArea(areaFilter.getValue());
6872
areaFilter.setWidth(200, Unit.PIXELS);
6973
areaFilter.setInputPrompt(I18nProperties.getString(Strings.promptArea));
7074
areaFilter.addItems(FacadeProvider.getAreaFacade().getAllActiveAsReference());
@@ -78,9 +82,9 @@ private void createJurisdictionFilters() {
7882
dashboardDataProvider.setArea((AreaReferenceDto) areaFilter.getValue());
7983
}
8084

81-
// Region filter
82-
setFilterVisibilitiesBasedOnRegion(regionFilter.getValue());
83-
if (UserProvider.getCurrent().getUser().getRegion() == null) {
85+
dashboardDataProvider.setRegion(userRegion);
86+
if (userRegion == null) {
87+
setFilterVisibilitiesBasedOnRegion(regionFilter.getValue());
8488
regionFilter.setWidth(200, Unit.PIXELS);
8589
regionFilter.setInputPrompt(I18nProperties.getString(Strings.promptRegion));
8690
regionFilter.addValueChangeListener(e -> {
@@ -93,10 +97,13 @@ private void createJurisdictionFilters() {
9397
dashboardDataProvider.setRegion((RegionReferenceDto) regionFilter.getValue());
9498
}
9599

96-
// District filter
97-
if (UserProvider.getCurrent().getUser().getDistrict() == null) {
100+
dashboardDataProvider.setDistrict(userDistrict);
101+
if (userRegion != null || userDistrict == null) {
98102
districtFilter.setWidth(200, Unit.PIXELS);
99103
districtFilter.setInputPrompt(I18nProperties.getString(Strings.promptDistrict));
104+
if (userRegion != null) {
105+
districtFilter.addItems(FacadeProvider.getDistrictFacade().getAllActiveByRegion(userRegion.getUuid()));
106+
}
100107
districtFilter.addValueChangeListener(e -> {
101108
dashboardDataProvider.setDistrict((DistrictReferenceDto) districtFilter.getValue());
102109
dashboardView.refreshDashboard();

0 commit comments

Comments
 (0)