/** * @param userGroupCache * @return isAvailable(userGroupCache, user) at default or if dependsOn is given dependsOn.available(userGroupCache, * user, value); */ public boolean isAvailable(final UserGroupCache userGroupCache, final PFUserDO user, final UserRightValue value) { if (this.dependsOn == null) { return isAvailable(userGroupCache, user); } else { return this.dependsOn.isAvailable(userGroupCache, user, value); } }
/** * Is this right for the given user potentially available (independent from the configured value)? * * @param userGroupCache * @return true at default or if dependsOn is given dependsOn.available(AccessChecker) */ public boolean isAvailable(final UserGroupCache userGroupCache, final PFUserDO user) { if (this.dependsOn == null) { return true; } else { return this.dependsOn.isAvailable(userGroupCache, user); } }
/** * @return false if the logged in user is not a member of the dependent groups, otherwise super.isAvailable(...). * @see org.projectforge.business.user.UserRight#isAvailable(org.projectforge.framework.access.AccessChecker) */ @Override public boolean isAvailable(final UserGroupCache userGroupCache, final PFUserDO user) { if (userGroupCache.isUserMemberOfGroup(user, dependsOnGroups) == true) { return super.isAvailable(userGroupCache, user); } return false; }
/** * Get all right values which are potentially available for the user. If the user value stored in the user data is not * part of available values then the AccessChecker returns that the user has no right. * * @param userGroupCache * @param user * @return */ public UserRightValue[] getAvailableValues(final UserGroupCache userGroupCache, final PFUserDO user) { if (values == null) { return null; } final List<UserRightValue> list = new ArrayList<UserRightValue>(); for (final UserRightValue value : values) { if (isAvailable(userGroupCache, user, value) == true) { list.add(value); } } final UserRightValue[] oa = new UserRightValue[list.size()]; list.toArray(oa); return oa; }
/** * If userGroupsRight is initialized then {@link UserGroupsRight#isAvailable(UserGroupCache, PFUserDO)} is called, * otherwise super. * * @see org.projectforge.business.user.UserRight#isAvailable(org.projectforge.business.user.UserGroupCache, * org.projectforge.framework.persistence.user.entities.PFUserDO) */ @Override public boolean isAvailable(final UserGroupCache userGroupCache, final PFUserDO user) { if (userGroupsRight != null) { return userGroupsRight.isAvailable(userGroupCache, user); } return super.isAvailable(userGroupCache, user); }
/** * If userGroupsRight is initialized then * {@link UserGroupsRight#isAvailable(UserGroupCache, PFUserDO, UserRightValue)} is called, otherwise super. * * @see org.projectforge.business.user.UserRight#isAvailable(org.projectforge.business.user.UserGroupCache, * org.projectforge.framework.persistence.user.entities.PFUserDO, org.projectforge.business.user.UserRightValue) */ @Override public boolean isAvailable(final UserGroupCache userGroupCache, final PFUserDO user, final UserRightValue value) { if (userGroupsRight != null) { return userGroupsRight.isAvailable(userGroupCache, user, value); } return super.isAvailable(userGroupCache, user, value); } }
/** * Gets the UserRight and calls {@link UserRight#isAvailable(UserGroupCache, PFUserDO)}. * * @param rightId * @return */ @Override public boolean isAvailable(final PFUserDO user, final IUserRightId rightId) { final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); final UserRight right = userRights.getRight(rightId); return right != null && right.isAvailable(userGroupCache, user) == true; }
public List<UserRightVO> getUserRights(final PFUserDO user) { final List<UserRightVO> list = new ArrayList<UserRightVO>(); if (user == null || user.getId() == null) { return list; } final List<UserRightDO> dbList = getList(user); final UserGroupCache userGroupCache = getUserGroupCache(); for (final UserRight right : userRightService.getOrderedRights()) { if (right.isAvailable(userGroupCache, user) == false) { continue; } final UserRightVO rightVO = new UserRightVO(right); for (final UserRightDO rightDO : dbList) { if (StringUtils.equals(rightDO.getRightIdString(), right.getId().getId()) == true) { rightVO.setValue(rightDO.getValue()); } } list.add(rightVO); } return list; }
&& userRights.getRight(right.getRightIdString()).isAvailable(this, right.getUser()) == true) { list.add(right);
IUserRightId rightId = userRightService.getRightId(rightDO.getRightIdString()); final UserRight right = userRightService.getRight(rightId); if (right.isAvailable(userGroupCache, user) == false || right.isAvailable(userGroupCache, user, rightDO.getValue()) == false) { rightDO.setValue(null); String rightId = rightDO.getRightIdString(); UserRight right = userRightService.getRight(rightId); if (right.isAvailable(userGroupCache, user) == false || right.isAvailable(userGroupCache, user, rightDO.getValue()) == false) { rightDO.setValue(null); update(rightDO);
if (right != null && right.isAvailable(userGroupCache, user, value) == true) { return true;