/** * Creates for every user an history entry if the user is part of this new group. * * @param group * @see org.projectforge.framework.persistence.api.BaseDao#afterSave(org.projectforge.core.ExtendedBaseDO) */ @Override public void afterSave(final GroupDO group) { final Collection<GroupDO> groupList = new ArrayList<GroupDO>(); groupList.add(group); if (group.getAssignedUsers() != null) { // Create history entry of PFUserDO for all assigned users: for (final PFUserDO user : group.getAssignedUsers()) { createHistoryEntry(user, null, groupList); } } }
final Set<PFUserDO> origAssignedUsers = dbGroup.getAssignedUsers(); final Set<PFUserDO> assignedUsers = group.getAssignedUsers(); final Collection<PFUserDO> assignedList = new ArrayList<PFUserDO>(); // List of new assigned users. final Collection<PFUserDO> unassignedList = new ArrayList<PFUserDO>(); // List of unassigned users. for (final PFUserDO user : group.getAssignedUsers()) { if (origAssignedUsers.contains(user) == false) { assignedList.add(user); for (final PFUserDO user : dbGroup.getAssignedUsers()) { if (assignedUsers.contains(user) == false) { unassignedList.add(user);
@Transient public String getUsernames() { if (usernames != null) { return usernames; } if (getSafeAssignedUsers() == null) { return ""; } final List<String> list = new ArrayList<String>(); for (final PFUserDO user : getAssignedUsers()) { if (user != null) { list.add(user.getUsername()); } } usernames = StringHelper.listToString(list, ", ", true); return usernames; }
final Set<PFUserDO> origAssignedUsers = group.getAssignedUsers(); if (origAssignedUsers != null) { final Iterator<PFUserDO> it = origAssignedUsers.iterator();
for (final GroupDO group : assignGroupsListHelper.getAssignedItems()) { assignedGroups.add(group); for (final PFUserDO user : group.getAssignedUsers()) { allAttendeeList.add(createAttendee(user));
final GroupDO dbGroup = emgr.selectByPkAttached(GroupDO.class, group.getId()); HistoryBaseDaoAdapter.wrappHistoryUpdate(dbGroup, () -> { Set<PFUserDO> assignedUsers = dbGroup.getAssignedUsers(); if (assignedUsers == null) { assignedUsers = new HashSet<>(); final GroupDO dbGroup = emgr.selectByPkAttached(GroupDO.class, group.getId()); HistoryBaseDaoAdapter.wrappHistoryUpdate(dbGroup, () -> { final Set<PFUserDO> assignedUsers = dbGroup.getAssignedUsers(); if (assignedUsers != null && assignedUsers.contains(dbUser) == true) { log.info("Unassigning user '" + dbUser.getUsername() + "' from group '" + dbGroup.getName() + "'.");
if (group.getAssignedUsers() != null) { for (final PFUserDO user : group.getAssignedUsers()) { if (user != null) { final Set<Integer> groupIdSet = ensureAndGetUserGroupIdMap(ugIdMap, user.getId());
@Override public Object doInTransaction(final TransactionStatus status) { logon(TEST_ADMIN_USER); GroupDO group = new GroupDO(); group.setName("testgroup"); final Set<PFUserDO> assignedUsers = new HashSet<PFUserDO>(); group.setAssignedUsers(assignedUsers); assignedUsers.add(getUser(TEST_USER)); final Serializable id = groupDao.save(group); group = groupDao.getById(id); assertEquals("testgroup", group.getName()); assertEquals(1, group.getAssignedUsers().size()); assertTrue(group.getAssignedUsers().contains(getUser(TEST_USER))); final PFUserDO user = getUser(TEST_USER2); assertNotNull(user); group.getAssignedUsers().add(user); groupDao.update(group); group = groupDao.getById(id); assertEquals(2, group.getAssignedUsers().size()); assertTrue(group.getAssignedUsers().contains(getUser(TEST_USER))); assertTrue(group.getAssignedUsers().contains(user)); return null; } });
ldapGroup.setOrganization(pfGroup.getOrganization()); ldapGroup.setDescription(pfGroup.getDescription()); if (pfGroup.getAssignedUsers() != null) { for (final PFUserDO user : pfGroup.getAssignedUsers()) { if (user.isDeactivated() == true || user.isDeleted() == true) {
if (group.isDeleted() == false && group.isLocalGroup() == false) { setMembers(updatedLdapGroup, group.getAssignedUsers(), ldapUserMap); ldapGroupDao.create(ctx, groupBase, updatedLdapGroup); created++; if (modified == true) { updatedLdapGroup.setObjectClasses(ldapGroup.getObjectClasses()); setMembers(updatedLdapGroup, group.getAssignedUsers(), ldapUserMap); ldapGroupDao.update(ctx, groupBase, updatedLdapGroup); updated++;
assignToDefaultTenant(user); GroupDO group = getGroup(ProjectForgeGroup.CONTROLLING_GROUP.toString()); group.getAssignedUsers().add(user); groupDao.update(group); group = getGroup(ProjectForgeGroup.FINANCE_GROUP.toString()); group.getAssignedUsers().add(user); groupDao.update(group); logon(user.getUsername()); logon(TEST_ADMIN_USER); group = getGroup(ProjectForgeGroup.PROJECT_MANAGER.toString()); group.getAssignedUsers().add(user); groupDao.update(group); logon(user.getUsername());
@Test public void testConfigurable() { final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); final UserRight right = userRights.getRight(UserRightId.PM_HR_PLANNING); logon(TEST_PROJECT_MANAGER_USER); assertFalse( "Right is not configurable, because all available right values are automatically assigned to the current user", right.isConfigurable(userGroupCache, ThreadLocalUserContext.getUser())); logon(TEST_ADMIN_USER); assertFalse("Right is not configurable, because no right values are available.", right.isConfigurable(userGroupCache, ThreadLocalUserContext.getUser())); PFUserDO user = new PFUserDO(); user.setUsername("testConfigurableRight"); user = userService.getById(userService.save(user)); GroupDO group = getGroup(ProjectForgeGroup.FINANCE_GROUP.toString()); group.getAssignedUsers().add(user); groupDao.update(group); logon(user.getUsername()); assertTrue("Right is configurable, because serveral right values are available.", right.isConfigurable(userGroupCache, ThreadLocalUserContext.getUser())); logon(TEST_ADMIN_USER); group = getGroup(ProjectForgeGroup.PROJECT_MANAGER.toString()); group.getAssignedUsers().add(user); groupDao.update(group); logon(user.getUsername()); assertFalse( "Right is not configurable, because all available right values are automatically assigned to the current user", right.isConfigurable(userGroupCache, ThreadLocalUserContext.getUser())); }
logon(TEST_ADMIN_USER); final GroupDO group = getGroup(ProjectForgeGroup.FINANCE_GROUP.toString()); group.getAssignedUsers().add(user); groupDao.update(group); logon(user.getUsername());
right.setValue(UserRightValue.PARTLYREADWRITE); userRightDao.update(right); group.getAssignedUsers().add(user);
group.getAssignedUsers().add(user1); groupDao.update(group); assertTrue(right.isAvailable(userGroupCache, user1));
final Set<PFUserDO> assignedUsers = getData().getAssignedUsers(); final UsersProvider usersProvider = new UsersProvider(userDao); assignUsersListHelper = new MultiChoiceListHelper<PFUserDO>().setComparator(new UsersComparator()).setFullList(