@Override public void assignDataSetToUserRole(DataSet dataSet) { User currentUser = currentUserService.getCurrentUser(); if (!currentUserService.currentUserIsSuper() && currentUser != null) { UserCredentials userCredentials = getUserCredentials(currentUser); for (UserAuthorityGroup userAuthorityGroup : userCredentials.getUserAuthorityGroups()) { userAuthorityGroup.getDataSets().add(dataSet); updateUserAuthorityGroup(userAuthorityGroup); } } }
public boolean canAddOrUpdateUser(Collection<String> userGroups) { User currentUser = currentUserService.getCurrentUser(); if (currentUser == null) { return false; } boolean canAdd = currentUser.getUserCredentials().isAuthorized(UserGroup.AUTH_USER_ADD); if (canAdd) { return true; } boolean canAddInGroup = currentUser.getUserCredentials().isAuthorized(UserGroup.AUTH_USER_ADD_IN_GROUP); if (!canAddInGroup) { return false; } boolean canManageAnyGroup = false; for (String uid : userGroups) { UserGroup userGroup = userGroupService.getUserGroup(uid); if (currentUser.canManage(userGroup)) { canManageAnyGroup = true; break; } } return canManageAnyGroup; }
@Override public void updateUser(User user) { userStore.update(user); AuditLogUtil.infoWrapper( log, currentUserService.getCurrentUsername(), user, AuditLogUtil.ACTION_UPDATE); }
@Override public int addUser(User user) { AuditLogUtil.infoWrapper( log, currentUserService.getCurrentUsername(), user, AuditLogUtil.ACTION_CREATE); return userStore.save(user); }
@Override public void deleteUser(User user) { AuditLogUtil.infoWrapper( log, currentUserService.getCurrentUsername(), user, AuditLogUtil.ACTION_DELETE); userCredentialsStore.delete(user.getUserCredentials()); userStore.delete(user); }
@Override public void postProcessEntity(MessageConversation entity, Map<String, String> parameters) throws Exception { Boolean markRead = Boolean.parseBoolean(parameters.get("markRead")); if (markRead) { entity.markRead(currentUserService.getCurrentUser()); manager.update(entity); } }
@Override public void canIssueFilter(Collection<UserAuthorityGroup> userRoles) { User user = currentUserService.getCurrentUser(); boolean canGrantOwnUserAuthorityGroups = (Boolean) systemSettingManager.getSystemSetting(KEY_CAN_GRANT_OWN_USER_AUTHORITY_GROUPS, false); FilterUtils.filter( userRoles, new UserAuthorityGroupCanIssueFilter(user, canGrantOwnUserAuthorityGroups)); }
private void handleUserQueryParams(UserQueryParams params) { boolean canGrantOwnRoles = (Boolean) systemSettingManager.getSystemSetting(KEY_CAN_GRANT_OWN_USER_AUTHORITY_GROUPS, false); params.setDisjointRoles(!canGrantOwnRoles); if (params.getUser() == null) { params.setUser(currentUserService.getCurrentUser()); } if (params.getUser() != null && params.getUser().isSuper()) { params.setCanManage(false); params.setAuthSubset(false); params.setDisjointRoles(false); } if (params.getInactiveMonths() != null) { Calendar cal = PeriodType.createCalendarInstance(); cal.add(Calendar.MONTH, (params.getInactiveMonths() * -1)); params.setInactiveSince(cal.getTime()); } }
public String execute() throws Exception { UserCredentials currentUserCredentials = currentUserService.getCurrentUser() != null ? currentUserService.getCurrentUser().getUserCredentials() : null; // --------------------------------------------------------------------- // Prepare values // --------------------------------------------------------------------- if (email != null && email.trim().length() == 0) { email = null; } if (rawPassword != null && rawPassword.trim().length() == 0) { rawPassword = null; } // --------------------------------------------------------------------- // Update userCredentials and user // --------------------------------------------------------------------- Collection<OrganisationUnit> units = selectionTreeManager.getReloadedSelectedOrganisationUnits(); User user = userService.getUser(id); user.setSurname(surname); user.setFirstName(firstName); user.setEmail(email); user.setPhoneNumber(phoneNumber); user.updateOrganisationUnits(new HashSet<OrganisationUnit>(units)); UserCredentials userCredentials = userService.getUserCredentials(user); Set<UserAuthorityGroup> userAuthorityGroups = new HashSet<UserAuthorityGroup>(); for (String id : selectedList) { UserAuthorityGroup group = userService.getUserAuthorityGroup(Integer.parseInt(id)); if (currentUserCredentials != null && currentUserCredentials.canIssue(group)) { userAuthorityGroups.add(group); } } userCredentials.setUserAuthorityGroups(userAuthorityGroups); if (rawPassword != null) { userCredentials.setPassword( passwordManager.encodePassword(userCredentials.getUsername(), rawPassword)); } if (jsonAttributeValues != null) { AttributeUtils.updateAttributeValuesFromJson( user.getAttributeValues(), jsonAttributeValues, attributeService); } userService.updateUserCredentials(userCredentials); userService.updateUser(user); if (currentUserService.getCurrentUser() == user) { selectionManager.setRootOrganisationUnits(units); selectionManager.setSelectedOrganisationUnits(units); selectionTreeManager.setRootOrganisationUnits(units); selectionTreeManager.setSelectedOrganisationUnits(units); } if (units.size() > 0) { selectionManager.setSelectedOrganisationUnits(units); } return SUCCESS; }