private PFUserDO getUser(final UserGroupCache userGroupCache, final String userId) { if (StringUtils.isBlank(userId) == true) { return null; } final Integer id = NumberHelper.parseInteger(userId); if (id == null) { return null; } return userGroupCache.getUser(id); }
@Override public List<PFUserDO> findUserByMail(String email) { List<PFUserDO> userList = new ArrayList<>(); for (PFUserDO user : getUserGroupCache().getAllUsers()) { if (user.getEmail() != null && user.getEmail().toLowerCase().equals(email.toLowerCase())) { userList.add(user); } } return userList; }
public Collection<Integer> getAssignedGroups(final PFUserDO user) { return getUserGroupCache().getUserGroups(user); }
public boolean isUserProjectManagerOrAssistantForProject(final ProjektDO projekt) { if (projekt == null || projekt.getProjektManagerGroupId() == null) { return false; } final Integer userId = ThreadLocalUserContext.getUserId(); if (isUserMemberOfProjectAssistant(userId) == false && isUserMemberOfProjectManagers(userId) == false) { return false; } return isUserMemberOfGroup(userId, projekt.getProjektManagerGroupId()); }
boolean result = false; if (group == ProjectForgeGroup.ADMIN_GROUP) { result = isUserMemberOfAdminGroup(user.getId()); } else if (group == ProjectForgeGroup.FINANCE_GROUP) { result = isUserMemberOfFinanceGroup(user.getId()); } else if (group == ProjectForgeGroup.PROJECT_MANAGER) { result = isUserMemberOfProjectManagers(user.getId()); } else if (group == ProjectForgeGroup.PROJECT_ASSISTANT) { result = isUserMemberOfProjectAssistant(user.getId()); } else if (group == ProjectForgeGroup.CONTROLLING_GROUP) { result = isUserMemberOfControllingGroup(user.getId()); } else if (group == ProjectForgeGroup.MARKETING_GROUP) { result = isUserMemberOfMarketingGroup(user.getId()); } else if (group == ProjectForgeGroup.ORGA_TEAM) { result = isUserMemberOfOrgaGroup(user.getId()); } else if (group == ProjectForgeGroup.HR_GROUP) { result = isUserMemberOfHRGroup(user.getId()); } else { throw new UnsupportedOperationException("Group not yet supported: " + group);
/** * @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; }
getUserGroupCache().setExpired(); assertFalse(databaseService.databaseTablesWithEntriesExists()); final PFUserDO admin = new PFUserDO(); assertNotNull(user); assertEquals(DatabaseService.DEFAULT_ADMIN_USER, user.getUsername()); final Collection<Integer> col = userGroupCache.getUserGroups(user); assertEquals(6, col.size()); assertTrue(userGroupCache.isUserMemberOfAdminGroup(user.getId())); assertTrue(userGroupCache.isUserMemberOfFinanceGroup(user.getId()));
@Override protected void afterSaveOrModify(final GroupDO group) { getUserGroupCache().setExpired(); }
private boolean hasAccess(final Integer[] groupIds, final Integer userId) { if (getUserGroupCache().isUserMemberOfAtLeastOneGroup(userId, groupIds) == true) { return true; } return false; } }
assertNotNull(initialAdminUser); assertEquals("myadmin", initialAdminUser.getUsername()); final Collection<Integer> col = userGroupCache.getUserGroups(initialAdminUser); assertEquals(6, col.size()); assertTrue(userGroupCache.isUserMemberOfAdminGroup(initialAdminUser.getId())); assertTrue(userGroupCache.isUserMemberOfFinanceGroup(initialAdminUser.getId()));
PFUserDO responsibleUser = data.getResponsibleUser(); if (Hibernate.isInitialized(responsibleUser) == false) { responsibleUser = getTenantRegistry().getUserGroupCache().getUser(responsibleUser.getId()); data.setResponsibleUser(responsibleUser); .withSelectProperty("protectTimesheetsUntil")); fs.add(protectTimesheetsUntilPanel); if (getTenantRegistry().getUserGroupCache().isUserMemberOfFinanceGroup() == false) { protectTimesheetsUntilPanel.setEnabled(false);
TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache().forceReload(); end = System.currentTimeMillis(); log.info("Finish force reload user group cache. Took: " + (end - start) / 1000 + " sec.");
if (userGroupCache.isUserMemberOfAdminGroup(user.getId()) == true) { final Collection<Integer> groupIds = userGroupCache.getUserGroups(user); if (groupIds == null) {
@Test public void testUserDO() { logon(TEST_ADMIN_USER); final PFUserDO user = userService.getByUsername(TEST_ADMIN_USER); assertEquals(user.getUsername(), TEST_ADMIN_USER); final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); final PFUserDO user1 = getUser("user1"); final String groupnames = groupService.getGroupnames(user1.getId()); assertEquals("Groupnames", "group1; group2", groupnames); assertEquals(true, userGroupCache.isUserMemberOfGroup(user1.getId(), getGroupId("group1"))); assertEquals(false, userGroupCache.isUserMemberOfGroup(user1.getId(), getGroupId("group3"))); final GroupDO group = groupService.getGroup(getGroupId("group1")); assertEquals("group1", group.getName()); final PFUserDO admin = getUser(ADMIN); assertEquals("Administrator", true, userGroupCache.isUserMemberOfAdminGroup(admin.getId())); assertEquals("Not administrator", false, userGroupCache.isUserMemberOfAdminGroup(user1.getId())); }
private void synchronizeLdapUsers(final LdapMasterLoginHandler loginHandler) { final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); userGroupCache.forceReload(); // Synchronize ldap users. while (true) { try { Thread.sleep(200); } catch (final InterruptedException ex) { } if (userGroupCache.isRefreshInProgress() == false && loginHandler.isRefreshInProgress() == false) { break; } } }
public boolean isUserMemberOfFinanceGroup() { return isUserMemberOfFinanceGroup(ThreadLocalUserContext.getUserId()); }
private List<Integer> addGroups(final PFUserDO user, final ProjectForgeGroup... groups) { final List<Integer> groupsToAssign = new ArrayList<Integer>(); final GroupDO group = getTenantRegistry().getUserGroupCache().getGroup(ProjectForgeGroup.PROJECT_MANAGER); groupsToAssign.add(group.getId()); return groupsToAssign; }
public boolean isUserMemberOfAdminGroup() { return isUserMemberOfAdminGroup(ThreadLocalUserContext.getUserId()); }
/** * @param groupId * @return */ public boolean isUserMemberOfGroup(final PFUserDO user, final Integer groupId) { if (user == null) { return false; } return isUserMemberOfGroup(user.getId(), groupId); }
/** * @see org.projectforge.framework.persistence.api.BaseDao#afterDelete(org.projectforge.core.ExtendedBaseDO) */ @Override protected void afterDelete(final GroupDO obj) { getUserGroupCache().setExpired(); }