Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java =================================================================== diff -u -r613f627076590253f7b11b0bfc206c91991d4719 -r169c2cd235e498d0ee81804b7178ca4dd9686bf0 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision 613f627076590253f7b11b0bfc206c91991d4719) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision 169c2cd235e498d0ee81804b7178ca4dd9686bf0) @@ -8,13 +8,17 @@ package org.lamsfoundation.lams.webservice; import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServlet; import org.apache.axis.MessageContext; import org.apache.axis.transport.http.HTTPConstants; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.themes.CSSThemeVisualElement; import org.lamsfoundation.lams.usermanagement.AuthenticationMethod; import org.lamsfoundation.lams.usermanagement.Organisation; @@ -34,11 +38,12 @@ Logger log = Logger.getLogger(RegisterServiceSoapBindingImpl.class); - private static final String DEMO_ORG_NAME = "Demo Organisation"; + private static final String DEMO_ORG_NAME = "Demo Course"; private static MessageContext context = MessageContext.getCurrentContext(); private static IUserManagementService service = (IUserManagementService) WebApplicationContextUtils.getRequiredWebApplicationContext(((HttpServlet)context.getProperty(HTTPConstants.MC_HTTP_SERVLET)).getServletContext()).getBean("userManagementService"); + private static ILessonService lessonService = (ILessonService) WebApplicationContextUtils.getRequiredWebApplicationContext(((HttpServlet)context.getProperty(HTTPConstants.MC_HTTP_SERVLET)).getServletContext()).getBean("lessonService"); public boolean createUser(String username, String password, String firstName, String lastName, String email) throws java.rmi.RemoteException { try { @@ -66,7 +71,9 @@ user.setHtmlTheme(htmlTheme); } service.save(user); - addMemberships(user,getDemoOrg(user)); + Organisation org = getDemoOrg(user); + addMemberships(user,org); + addUsersToLessonClasses(org); return true; } catch (Exception e) { log.debug(e.getMessage(), e); @@ -79,6 +86,7 @@ return service.getSupportedLocale(defaultLocale.substring(0,2), defaultLocale.substring(3)); } + @SuppressWarnings("unchecked") private void addMemberships(User user, Organisation org){ log.debug("adding memberships for user "+user.getUserId()+" in "+org.getName()); UserOrganisation uo = new UserOrganisation(user,org); @@ -93,6 +101,25 @@ service.save(user); } + private void addUsersToLessonClasses(Organisation org){ + List list = service.findByProperty(UserOrganisation.class, "organisation.organisationId", org.getOrganisationId()); + if(list != null){ + log.debug(list.size()+" user(s) in the org"); + if(org.getLessons()!=null){ + for(int i=0; i