@Override public boolean restore( UserCredentials credentials, String token, String newPassword, RestoreType restoreType ) { if ( credentials == null || token == null || newPassword == null || !canRestore( credentials, token, restoreType ) ) { return false; } credentials.setRestoreToken( null ); credentials.setRestoreExpiry( null ); credentials.setInvitation( false ); userService.encodeAndSetPassword( credentials, newPassword ); userService.updateUserCredentials( credentials ); return true; }
@Override public void postCreate( IdentifiableObject persistedObject, ObjectBundle bundle ) { if ( !User.class.isInstance( persistedObject ) || !bundle.hasExtras( persistedObject, "uc" ) ) return; User user = (User) persistedObject; final UserCredentials userCredentials = (UserCredentials) bundle.getExtras( persistedObject, "uc" ); if ( !StringUtils.isEmpty( userCredentials.getPassword() ) ) { userService.encodeAndSetPassword( userCredentials, userCredentials.getPassword() ); } if ( user.getAvatar() != null ) { FileResource fileResource = fileResourceService.getFileResource( user.getAvatar().getUid() ); fileResource.setAssigned( true ); fileResourceService.updateFileResource( fileResource ); } preheatService.connectReferences( userCredentials, bundle.getPreheat(), bundle.getPreheatIdentifier() ); sessionFactory.getCurrentSession().save( userCredentials ); user.setUserCredentials( userCredentials ); sessionFactory.getCurrentSession().update( user ); bundle.removeExtras( persistedObject, "uc" ); }
@Override public boolean prepareUserForInvite( User user ) { if ( user == null || user.getUserCredentials() == null ) { return false; } if ( user.getUsername() == null || user.getUsername().isEmpty() ) { String username = "invite-" + user.getEmail() + "-" + CodeGenerator.generateUid(); user.getUserCredentials().setUsername( username ); } String rawPassword = CodeGenerator.generateCode( INVITED_USER_PASSWORD_LENGTH ); user.setSurname( StringUtils.isEmpty( user.getSurname() ) ? TBD_NAME : user.getSurname() ); user.setFirstName( StringUtils.isEmpty( user.getFirstName() ) ? TBD_NAME : user.getFirstName() ); user.getUserCredentials().setInvitation( true ); userService.encodeAndSetPassword( user, rawPassword ); return true; }
@Override public void postUpdate( IdentifiableObject persistedObject, ObjectBundle bundle ) { if ( !User.class.isInstance( persistedObject ) || !bundle.hasExtras( persistedObject, "uc" ) ) return; User user = (User) persistedObject; final UserCredentials userCredentials = (UserCredentials) bundle.getExtras( persistedObject, "uc" ); final UserCredentials persistedUserCredentials = bundle.getPreheat().get( bundle.getPreheatIdentifier(), UserCredentials.class, user ); if ( !StringUtils.isEmpty( userCredentials.getPassword() ) ) { userService.encodeAndSetPassword( persistedUserCredentials, userCredentials.getPassword() ); } mergeService.merge( new MergeParams<>( userCredentials, persistedUserCredentials ).setMergeMode( bundle.getMergeMode() ) ); preheatService.connectReferences( persistedUserCredentials, bundle.getPreheat(), bundle.getPreheatIdentifier() ); persistedUserCredentials.setUserInfo( user ); user.setUserCredentials( persistedUserCredentials ); sessionFactory.getCurrentSession().update( user.getUserCredentials() ); bundle.removeExtras( persistedObject, "uc" ); }
protected User createUser( String username, String... authorities ) { Assert.notNull( userService, "UserService must be injected in test" ); String password = "district"; UserAuthorityGroup userAuthorityGroup = new UserAuthorityGroup(); userAuthorityGroup.setCode( username ); userAuthorityGroup.setName( username ); userAuthorityGroup.setDescription( username ); userAuthorityGroup.setAuthorities( Sets.newHashSet( authorities ) ); userService.addUserAuthorityGroup( userAuthorityGroup ); User user = new User(); user.setCode( username ); user.setFirstName( username ); user.setSurname( username ); userService.addUser( user ); UserCredentials userCredentials = new UserCredentials(); userCredentials.setCode( username ); userCredentials.setUser( user ); userCredentials.setUserInfo( user ); userCredentials.setUsername( username ); userCredentials.getUserAuthorityGroups().add( userAuthorityGroup ); userService.encodeAndSetPassword( userCredentials, password ); userService.addUserCredentials( userCredentials ); user.setUserCredentials( userCredentials ); userService.updateUser( user ); return user; }
userCredentials.getUserAuthorityGroups().add( userAuthorityGroup ); userService.encodeAndSetPassword( userCredentials, password ); userService.addUserCredentials( userCredentials );