final List<Organisation_Users> orgUsers;
if (isAdminForm) {
List<Organisation> orgList = getBean(OrganisationDao.class).get(0, Integer.MAX_VALUE);
orgUsers = new ArrayList<Organisation_Users>(orgList.size());
for (Organisation org : orgList) {
orgUsers.add(new Organisation_Users(org));
}
} else {
orgUsers = getModelObject().getOrganisation_users();
}
add(new Select2MultiChoice<Organisation_Users>("organisation_users", null, new TextChoiceProvider<Organisation_Users>() {
private static final long serialVersionUID = 1L;
@Override
protected String getDisplayText(Organisation_Users choice) {
return choice.getOrganisation().getName();
}
@Override
protected Object getId(Organisation_Users choice) {
return choice.getOrganisation().getOrganisation_id();
}
@Override
public void query(String term, int page, Response<Organisation_Users> response) {
for (Organisation_Users ou : orgUsers) {
if (Strings.isEmpty(term) || (!Strings.isEmpty(term) && ou.getOrganisation().getName().contains(term))) {
response.add(ou);
}
}
}
@Override
public Collection<Organisation_Users> toChoices(Collection<String> _ids) {
List<Long> ids = new ArrayList<Long>();
for (String id : _ids) {
ids.add(Long.parseLong(id));
}
List<Organisation_Users> list = new ArrayList<Organisation_Users>();
for (Organisation o : getBean(OrganisationDao.class).get(ids)) {
list.add(new Organisation_Users(o));
}
return list;
}
}).setEnabled(isAdminForm));
}