/** * Owners and administrators are able to insert new calendars. * * @see org.projectforge.business.user.UserRightAccessCheck#hasInsertAccess(org.projectforge.framework.persistence.user.entities.PFUserDO, * java.lang.Object) */ @Override public boolean hasInsertAccess(final PFUserDO user, final TeamCalDO obj) { return isOwner(user, obj) == true || accessChecker.isUserMemberOfAdminGroup(user) == true; }
/** * 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; }
public boolean hasFullAccess(final TeamCalDO calendar, final Integer userId) { if (calendar == null || userId == null) { return false; } if (isOwner(userId, calendar) == true) { return true; } final Integer[] groupIds = StringHelper.splitToIntegers(calendar.getFullAccessGroupIds(), ","); final Integer[] userIds = StringHelper.splitToIntegers(calendar.getFullAccessUserIds(), ","); return hasAccess(groupIds, userIds, userId); }
/** * @see org.projectforge.business.user.UserRightAccessCheck#hasSelectAccess(org.projectforge.framework.persistence.user.entities.PFUserDO, * java.lang.Object) */ @Override public boolean hasSelectAccess(final PFUserDO user, final TeamCalDO obj) { if (isOwner(user, obj) == true || accessChecker.isUserMemberOfAdminGroup(user) == true) { // User has full access to his own calendars. return true; } final Integer userId = user.getId(); if (hasFullAccess(obj, userId) == true || hasReadonlyAccess(obj, userId) == true || hasMinimalAccess(obj, userId) == true) { return true; } return false; }
/** * @see org.projectforge.web.wicket.CellItemListenerPropertyColumn#populateItem(org.apache.wicket.markup.repeater.Item, * java.lang.String, org.apache.wicket.model.IModel) */ @Override public void populateItem(final Item<ICellPopulator<TeamCalDO>> item, final String componentId, final IModel<TeamCalDO> rowModel) { final TeamCalDO teamCal = rowModel.getObject(); final TeamCalRight right = (TeamCalRight) teamCalDao.getUserRight(); String label; if (right.isOwner(getUser(), teamCal) == true) { label = getString("plugins.teamcal.owner"); } else if (right.hasFullAccess(teamCal, getUserId()) == true) { label = getString("plugins.teamcal.fullAccess"); } else if (right.hasReadonlyAccess(teamCal, getUserId()) == true) { label = getString("plugins.teamcal.readonlyAccess"); } else if (right.hasMinimalAccess(teamCal, getUserId()) == true) { label = getString("plugins.teamcal.minimalAccess"); } else if (isAdminUser == true) { label = getString("plugins.teamcal.adminAccess"); } else { label = "???"; } item.add(new Label(componentId, label)); cellItemListener.populateItem(item, componentId, rowModel); } });
&& accessChecker.isUserMemberOfAdminGroup(user) == true); for (final TeamCalDO cal : list) { final boolean isOwn = right.isOwner(user, cal); if (isOwn == true) {