/** * @see org.projectforge.web.wicket.AbstractListForm#newSearchFilterInstance() */ @Override protected TeamCalFilter newSearchFilterInstance() { return new TeamCalFilter(); }
/** * Rest-Call for {@link TeamCalDao#getList(org.projectforge.core.BaseSearchFilter)} */ @GET @Path(RestPaths.LIST) @Produces(MediaType.APPLICATION_JSON) public Response getList(@QueryParam("fullAccess") final boolean fullAccess) { final TeamCalFilter filter = new TeamCalFilter(); if (fullAccess == true) { filter.setFullAccess(true); filter.setMinimalAccess(false); filter.setReadonlyAccess(false); } final List<TeamCalDO> list = teamCalDao.getList(filter); Integer[] teamCalBlackListIds = userXmlPreferencesDao .getDeserializedUserPreferencesByUserId(ThreadLocalUserContext.getUserId(), TeamCalDO.TEAMCALRESTBLACKLIST, Integer[].class); if(teamCalBlackListIds != null && teamCalBlackListIds.length > 0) { Arrays.stream(teamCalBlackListIds).forEach(calId -> list.remove(teamCalDao.getById(calId))); } final List<CalendarObject> result = new LinkedList<CalendarObject>(); if (list != null && list.size() > 0) { for (final TeamCalDO cal : list) { result.add(TeamCalDOConverter.getCalendarObject(cal, userRights)); } } final String json = JsonUtils.toJson(result); return Response.ok(json).build(); }
@Override public void query(String term, final int page, final Response<TeamCalDO> response) { // add all access groups final List<TeamCalDO> fullAccessTeamCals = getTeamCalDao().getList(new TeamCalFilter()); final List<TeamCalDO> result = new ArrayList<TeamCalDO>(); term = term != null ? term.toLowerCase() : ""; final int offset = page * RESULT_PAGE_SIZE; int matched = 0; boolean hasMore = false; for (final TeamCalDO teamCal : fullAccessTeamCals) { if (result.size() == RESULT_PAGE_SIZE) { hasMore = true; break; } if (teamCal.getTitle().toLowerCase().contains(term) == true || teamCal.getOwner().getFullname().toLowerCase().contains(term) == true || teamCal.getOwner().getUsername().toLowerCase().contains(term) == true) { matched++; if (matched > offset) { result.add(teamCal); } } } response.addAll(result); response.setHasMore(hasMore); }
/** * Gets a list of all calendars with full access of the current logged-in user as well as the calendars owned by the * current logged-in user. * * @return */ public List<TeamCalDO> getAllCalendarsWithFullAccess() { final TeamCalFilter filter = new TeamCalFilter(); filter.setOwnerType(OwnerType.ALL); filter.setFullAccess(true).setReadonlyAccess(false).setMinimalAccess(false); return getList(filter); }
myFilter = (TeamCalFilter) filter; else { myFilter = new TeamCalFilter(filter);