Commit d70b68f9 by Liv Haapala

Merge branch 'master' into devel

Conflicts:
	code/MoyaWeb/src/fi/codecrew/moya/resources/i18n.properties
2 parents bd79b96a 6b9ad566
......@@ -28,6 +28,8 @@ import javax.persistence.PersistenceContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sun.enterprise.security.webservices.GFServerPipeCreator;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.ApprovalFacade;
......@@ -586,6 +588,9 @@ public class UserBean implements UserBeanLocal {
return user;
}
@Override
public SearchResult<User> getEventUsers(SearchQuery search) {
if (search.getSearch() == null || search.getSearch().isEmpty())
......@@ -615,6 +620,20 @@ public class UserBean implements UserBeanLocal {
returnUsers = new SearchResult<EventUser>(newSearchList, (long) newSearchList.size());
}
else if(searchQuery.isUsersWithUnusedCodes()){
List<EventUser> newSearchList = new ArrayList<EventUser>();
List<GroupMembership> groupMembers = new ArrayList<GroupMembership>();
groupMembers = gmfacade.findAllWithoutUser();
for (GroupMembership member : groupMembers) {
PlaceGroup group = member.getPlaceGroup();
if(group != null && !newSearchList.contains(group.getCreator())) {
newSearchList.add(group.getCreator());
}
}
returnUsers = new SearchResult<EventUser>(newSearchList, (long)newSearchList.size());
}
return returnUsers;
}
......
......@@ -108,4 +108,17 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi
// return p.getResultList();
}
public List<GroupMembership> findAllWithoutUser() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<GroupMembership> cq = cb.createQuery(GroupMembership.class);
Root<GroupMembership> root = cq.from(GroupMembership.class);
Path<PlaceGroup> pg = root.get(GroupMembership_.placeGroup);
cq.where(cb.isNull(root.get(GroupMembership_.user)),
cb.equal(pg.get(PlaceGroup_.event), eventbean.getCurrentEvent())
);
return getEm().createQuery(cq).getResultList();
}
}
......@@ -16,6 +16,7 @@ public class UserSearchQuery extends SearchQuery {
private List<Role> filterRoles = new ArrayList<Role>();
private boolean onlyThisEvent = true;
private boolean placeAssoc = false;
private boolean usersWithUnusedCodes = false;
private DatabaseHasCompare requireImage = DatabaseHasCompare.NONE;
private BigDecimal accountSaldo;
......@@ -34,6 +35,14 @@ public class UserSearchQuery extends SearchQuery {
this.onlyThisEvent = onlyThisEvent;
}
public boolean isUsersWithUnusedCodes() {
return usersWithUnusedCodes;
}
public void setUsersWithUnusedCodes(boolean usersWithUnusedCodes) {
this.usersWithUnusedCodes = usersWithUnusedCodes;
}
public List<Role> getFilterRoles() {
return filterRoles;
}
......
......@@ -42,6 +42,11 @@
<h:selectBooleanCheckbox id="onlythisevent" value="#{userSearchView.searchQuery.onlyThisEvent}" />
<h:outputLabel for="onlythisevent" value="#{i18n['userlist.onlythisevent']}" />
<br />
<h:selectBooleanCheckbox id="userswithunusedcodes" value="#{userSearchView.searchQuery.usersWithUnusedCodes}" />
<h:outputLabel for="userswithunusedcodes" value="#{i18n['userlist.usersWithUnusedCodes']}" />
<br />
<h:inputText value="#{userSearchView.search}" />
<h:commandButton value="#{i18n['userlist.search']}" action="#{userSearchView.newSearch()}" />
</h:panelGroup>
......
......@@ -169,7 +169,11 @@ subnavi.cards = \u0009\u0009
topnavi.license = Lisenssikoodit
<<<<<<< HEAD
user.unauthenticated = Kirjautumaton
=======
user.unauthenticated = Kirjautumaton
>>>>>>> master
usercart.downloadCsv = CSV
usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n
......@@ -904,6 +904,7 @@ userlist.saldofilter = Saldo
userlist.search = Search
userlist.searchcount = Result count
userlist.showAdvancedSearch = Advanced search
userlist.usersWithUnusedCodes = List this event's users with unused place codes
usertitle.managingUser = Shop
......
......@@ -887,6 +887,7 @@ userlist.saldofilter = Tilin saldo
userlist.search = Etsi
userlist.searchcount = Tuloksia
userlist.showAdvancedSearch = Tarkennettu haku
userlist.usersWithUnusedCodes = Lista t\u00E4m\u00E4n tapahtuman k\u00E4ytt\u00E4jist\u00E4, joilla on k\u00E4ytt\u00E4m\u00E4tt\u00F6mi\u00E4 paikkakoodeja
usertitle.managingUser = Kauppa
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!