Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r13431d36984cc6e722c56e7d2dae2ce7301b93af -rf8da3934756eb50a727203ceab526ca4fc6ebb20 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 13431d36984cc6e722c56e7d2dae2ce7301b93af) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision f8da3934756eb50a727203ceab526ca4fc6ebb20) @@ -93,9 +93,10 @@ try{ if(object instanceof User){ User user = (User)object; - object = createWorkspaceForUser(user); if(user.getUserId()==null){ user.setPassword(HashUtil.sha1(user.getPassword())); + baseDAO.insertOrUpdate(user); // creating a workspace needs a userId + object = createWorkspaceForUser(user); } } baseDAO.insertOrUpdate(object); @@ -376,16 +377,14 @@ } private User createWorkspaceForUser(User user) { - if(user.getUserId()==null){//new User - Workspace workspace = new Workspace(user.getFullName()); - save(workspace); - WorkspaceFolder folder = new WorkspaceFolder(workspace.getName(),user.getUserId(),new Date(),new Date(),WorkspaceFolder.NORMAL); - save(folder); - if ( workspace.getFolders() == null ) - workspace.setFolders(new HashSet()); - workspace.getFolders().add(folder); - user.setWorkspace(workspace); - } + Workspace workspace = new Workspace(user.getFullName()); + save(workspace); + WorkspaceFolder folder = new WorkspaceFolder(workspace.getName(),user.getUserId(),new Date(),new Date(),WorkspaceFolder.NORMAL); + save(folder); + if ( workspace.getFolders() == null ) + workspace.setFolders(new HashSet()); + workspace.getFolders().add(folder); + user.setWorkspace(workspace); return user; }