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