public static List<TeamCalDO> getCalList(TeamCalCache teamCalCache, final Collection<Integer> teamCalIds) { final List<TeamCalDO> list = new ArrayList<>(); if (teamCalIds != null) { for (final Integer calId : teamCalIds) { final TeamCalDO cal = teamCalCache.getCalendar(calId); if (cal != null) { list.add(cal); } else { log.warn("Calendar with id " + calId + " not found in cache."); } } } return list; }
private Collection<TeamCalDO> getCalendarList() { Collection<TeamCalDO> result = null; if (onlyFullAccessCalendar) { result = teamCalCache.getAllFullAccessCalendars(); } else { result = teamCalCache.getAllAccessibleCalendars(); } if (this.additionalCalendarList != null && this.additionalCalendarList.size() > 0) { result.addAll(this.additionalCalendarList); } return result; }
@Override public final void onSubmit() { final Collection<TeamCalDO> assignedItems = teamCalCache.getAllOwnCalendars(); calendarsListHelper.setAssignedItems(assignedItems); } }, getString("plugins.teamcal.own"), SingleButtonPanel.NORMAL));
this.teamCalRestWhiteList = teamCalCache.getAllFullAccessCalendars(); Integer[] teamCalBlackListIds = userXmlPreferencesDao .getDeserializedUserPreferencesByUserId(ThreadLocalUserContext.getUserId(), TeamCalDO.TEAMCALRESTBLACKLIST, Integer[].class); if (teamCalBlackListIds != null && teamCalBlackListIds.length > 0) { Arrays.stream(teamCalBlackListIds).forEach(calId -> teamCalRestWhiteList.remove(teamCalCache.getCalendar(calId)));
@Override public final void onSubmit() { final Collection<TeamCalDO> assignedItems = teamCalCache.getAllAccessibleCalendars(); calendarsListHelper.setAssignedItems(assignedItems); } }, getString("selectAll"), SingleButtonPanel.NORMAL));
public TeamCalDO getCalendar(final Integer calendarId) { checkRefresh(); return calendarMap.get(calendarId); }
/** * @see org.projectforge.web.wicket.AbstractEditPage#afterSaveOrUpdate() */ @Override public AbstractSecuredBasePage afterSaveOrUpdate() { Collection<TeamCalDO> teamCalRestWhiteList = form.getTeamCalRestWhiteList(); Collection<TeamCalDO> teamCalRestBlackList = teamCalCache.getAllFullAccessCalendars(); teamCalRestBlackList.removeAll(teamCalRestWhiteList); Integer[] blackListIds = teamCalRestBlackList.stream().map(cal -> cal.getId()).toArray(size -> new Integer[size]); userXmlPreferencesDao.saveOrUpdate(ThreadLocalUserContext.getUserId(), TeamCalDO.TEAMCALRESTBLACKLIST, blackListIds, true); userXmlPreferencesDao.saveOrUpdate(ThreadLocalUserContext.getUserId(), "disableSnowEffectPermant", form.getDisableSnowEffectPermant(), true); userXmlPreferencesCache.putEntry(ThreadLocalUserContext.getUserId(), "disableSnowEffectPermant", form.getDisableSnowEffectPermant(), true); final HttpServletRequest request = WicketUtils.getHttpServletRequest(getRequest()); // Don't trust the form data, use logged in user from the data base instead. UserFilter.refreshUser(request); return super.afterSaveOrUpdate(); }
/** * Calls {@link TeamCalCache#setExpired()}. * * @see org.projectforge.framework.persistence.api.BaseDao#afterSaveOrModify(org.projectforge.core.ExtendedBaseDO) */ @Override protected void afterSaveOrModify(final TeamCalDO obj) { super.afterSaveOrModify(obj); teamCalCache.setExpired(); }
/** * @see org.projectforge.framework.persistence.api.BaseDao#getListForSearchDao(org.projectforge.framework.persistence.api.BaseSearchFilter) */ @Override public List<TeamEventDO> getListForSearchDao(final BaseSearchFilter filter) { final TeamEventFilter teamEventFilter = new TeamEventFilter(filter); // May-be called by SeachPage final Collection<TeamCalDO> allAccessibleCalendars = teamCalCache.getAllAccessibleCalendars(); if (CollectionUtils.isEmpty(allAccessibleCalendars) == true) { // No calendars accessible, nothing to search. return new ArrayList<TeamEventDO>(); } teamEventFilter.setTeamCals(getCalIdList(allAccessibleCalendars)); return getList(teamEventFilter); }
/** * Get ordered calendars (by title and id). * * @return All accessible calendars of the context user (as owner or with full, read-only or minimal access). */ public Collection<TeamCalDO> getAllOwnCalendars() { checkRefresh(); final Set<TeamCalDO> set = new TreeSet<TeamCalDO>(new TeamCalsComparator()); final Integer loggedInUserId = ThreadLocalUserContext.getUserId(); for (final TeamCalDO cal : calendarMap.values()) { if (teamCalRight.isOwner(loggedInUserId, cal) == true) { set.add(cal); } } return set; }
final Set<TeamCalDO> availableCalendars = new HashSet<>(teamCalCache.getAllFullAccessCalendars()); final Set<TeamCalDO> currentCalendars = new HashSet<>(); final TeamCalDO configuredVacationCalendar = configService.getVacationCalendar();
@Override public TeamCalDO getVacationCalendar() { return teamCalCache.getCalendar((Integer) configDao.getValue(ConfigurationParam.VACATION_CAL_ID)); }
private Collection<Integer> getCalendarIds(String calendarIds) { final Collection<Integer> cals = new LinkedList<>(); if (StringUtils.isBlank(calendarIds) == true) { final Collection<TeamCalDO> ownCals = teamCalCache.getAllOwnCalendars(); if (ownCals != null && ownCals.size() > 0) { for (final TeamCalDO cal : ownCals) { cals.add(cal.getId()); } } } else { final Integer[] ids = StringHelper.splitToIntegers(calendarIds, ",;:"); if (ids != null && ids.length > 0) { for (final Integer id : ids) { if (id != null) { cals.add(id); } } } } return cals; }
/** * Get ordered calendars (by title and id). * * @return All accessible calendars of the context user (as owner or with full, read-only or minimal access). */ public Collection<TeamCalDO> getAllAccessibleCalendars() { checkRefresh(); final Set<TeamCalDO> set = new TreeSet<TeamCalDO>(new TeamCalsComparator()); final PFUserDO loggedInUser = ThreadLocalUserContext.getUser(); for (final TeamCalDO cal : calendarMap.values()) { if (teamCalRight.hasSelectAccess(loggedInUser, cal) == true && cal.isDeleted() == false) { set.add(cal); } } return set; }
@Override public Collection<TeamCalDO> toChoices(final Collection<String> ids) { final List<TeamCalDO> list = new ArrayList<TeamCalDO>(); if (ids == null) { return list; } for (final String str : ids) { final Integer calId = NumberHelper.parseInteger(str); if (calId == null) { continue; } final TeamCalDO cal = teamCalCache.getCalendar(calId); if (cal != null) { list.add(cal); } } return list; } }
/** * Get ordered calendars (by title and id). * * @return All accessible calendars of the context user (as owner or with full, read-only or minimal access). */ public Collection<TeamCalDO> getAllFullAccessCalendars() { checkRefresh(); final Set<TeamCalDO> set = new TreeSet<TeamCalDO>(new TeamCalsComparator()); final PFUserDO loggedInUser = ThreadLocalUserContext.getUser(); for (final TeamCalDO cal : calendarMap.values()) { if (teamCalRight.hasFullAccess(cal, loggedInUser.getId()) == true && cal.isDeleted() == false) { set.add(cal); } } return set; }
/** * @param calIds * @return */ public Collection<TeamCalDO> getSortedCalendars(final String calIds) { if (StringUtils.isEmpty(calIds) == true) { return null; } sortedCals = new TreeSet<TeamCalDO>(calsComparator); final int[] ids = StringHelper.splitToInts(calIds, ",", false); for (final int id : ids) { final TeamCalDO cal = teamCalCache.getCalendar(id); if (cal != null) { sortedCals.add(cal); } else { log.warn("TeamCalDO with id '" + id + "' not found. calIds string was: " + calIds); } } return sortedCals; }
/** * @param calIds * @return */ public List<String> getCalendarNames(final String calIds) { if (StringUtils.isEmpty(calIds) == true) { return null; } final int[] ids = StringHelper.splitToInts(calIds, ",", false); final List<String> list = new ArrayList<String>(); for (final int id : ids) { final TeamCalDO cal = teamCalCache.getCalendar(id); if (cal != null) { list.add(cal.getTitle()); } else { log.warn("TeamCalDO with id '" + id + "' not found. calIds string was: " + calIds); } } return list; }
public void setCalendar(final Integer calendarId) { if (calendarId != null) { setCalendar(teamCalCache.getCalendar(calendarId)); } else { setCalendar((TeamCalDO) null); } }
private DataobjectAccessType getAccessType(final Integer calendarId, final Integer userId) { final TeamCalDO cal = teamCalCache.getCalendar(calendarId); return getTeamCalRight().getAccessType(cal, userId); }