Bugfix: Gruppenfilter funktioniert auch ohne Gewählte Veranstaltung.

master
Markus Kreth 6 years ago
parent a2db9eb07d
commit 17760e039b
  1. 10
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/PersonFilter.java

@ -2,7 +2,6 @@ package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -68,7 +67,7 @@ public class PersonFilter implements SerializablePredicate<Person>, DataProvider
private boolean personInGroup(Person t) { private boolean personInGroup(Person t) {
if (selectedGroups != null) { if (selectedGroups != null) {
return t.hasAnyGroup() == false && haveCommonGroup(t, selectedGroups); return t.hasAnyGroup() && haveCommonGroup(t, selectedGroups);
} }
return true; return true;
} }
@ -84,7 +83,7 @@ public class PersonFilter implements SerializablePredicate<Person>, DataProvider
} }
private boolean personSelected(Person t) { private boolean personSelected(Person t) {
if (selectedPersons != null) { if (selectedPersons != null) { // && !selectedPersons.isEmpty()
if (selectedPersons.contains(t.getId()) == false) { if (selectedPersons.contains(t.getId()) == false) {
return false; return false;
} }
@ -97,10 +96,7 @@ public class PersonFilter implements SerializablePredicate<Person>, DataProvider
selectedPersons = null; selectedPersons = null;
return; return;
} }
selectedPersons = new HashSet<>(); selectedPersons = selected.stream().map(p -> p.getId()).collect(Collectors.toSet());
for (Person p : selected) {
selectedPersons.add(p.getId());
}
} }
public void setNameFilter(String value) { public void setNameFilter(String value) {

Loading…
Cancel
Save