Index: lams_central/build.xml =================================================================== RCS file: /usr/local/cvsroot/lams_central/build.xml,v diff -u -r1.36 -r1.36.2.1 --- lams_central/build.xml 28 Sep 2006 23:28:23 -0000 1.36 +++ lams_central/build.xml 12 Mar 2007 01:30:05 -0000 1.36.2.1 @@ -100,20 +100,21 @@ - - - + + + + + + + + + - - - - - - - + + @@ -149,7 +150,7 @@ - + Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/authoring/Attic/DesignDataModel.as,v diff -u -r1.46.2.1 -r1.46.2.2 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/learner/Header.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/learner/Attic/Header.as,v diff -u -r1.9 -r1.9.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/learner/ls/Lesson.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/learner/ls/Attic/Lesson.as,v diff -u -r1.21 -r1.21.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/LessonManagerDialog.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/Attic/LessonManagerDialog.as,v diff -u -r1.13 -r1.13.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/User.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/Attic/User.as,v diff -u -r1.6 -r1.6.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Attic/Monitor.as,v diff -u -r1.32 -r1.32.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Attic/MonitorController.as,v diff -u -r1.29 -r1.29.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Attic/MonitorModel.as,v diff -u -r1.36 -r1.36.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/Attic/LessonTabView.as,v diff -u -r1.52 -r1.52.2.1 Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/Attic/MonitorTabView.as,v diff -u -r1.23 -r1.23.2.1 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v diff -u -r1.40 -r1.40.2.1 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 27 Oct 2006 00:56:19 -0000 1.40 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 12 Mar 2007 01:29:24 -0000 1.40.2.1 @@ -133,8 +133,6 @@ public void setGroupingDAO(GroupingDAO groupingDAO) { this.groupingDAO = groupingDAO; } - /** for sending acknowledgment/error messages back to flash */ - private FlashMessage flashMessage; /** * @param transitionDAO The transitionDAO to set @@ -249,6 +247,7 @@ * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getLearningDesignDetails(java.lang.Long) */ public String getLearningDesignDetails(Long learningDesignID)throws IOException{ + FlashMessage flashMessage= null; LearningDesignDTO learningDesignDTO = learningDesignService.getLearningDesignDTO(learningDesignID); if(learningDesignDTO==null) flashMessage = FlashMessage.getNoSuchLearningDesignExists("getLearningDesignDetails",learningDesignID); @@ -558,7 +557,7 @@ public String getAllLearningDesignDetails()throws IOException{ Iterator iterator= getAllLearningDesigns().iterator(); ArrayList arrayList = createDesignDetailsPacket(iterator); - flashMessage = new FlashMessage("getAllLearningDesignDetails",arrayList); + FlashMessage flashMessage = new FlashMessage("getAllLearningDesignDetails",arrayList); return flashMessage.serializeMessage(); } /** @@ -585,15 +584,15 @@ public String getLearningDesignsForUser(Long userID) throws IOException{ List list = learningDesignDAO.getLearningDesignByUserId(userID); ArrayList arrayList = createDesignDetailsPacket(list.iterator()); - flashMessage = new FlashMessage("getLearningDesignsForUser",arrayList); + FlashMessage flashMessage = new FlashMessage("getLearningDesignsForUser",arrayList); return flashMessage.serializeMessage(); } /** * (non-Javadoc) * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getAllLearningLibraryDetails() */ public String getAllLearningLibraryDetails()throws IOException{ - flashMessage = new FlashMessage("getAllLearningLibraryDetails",learningDesignService.getAllLearningLibraryDetails()); + FlashMessage flashMessage = new FlashMessage("getAllLearningLibraryDetails",learningDesignService.getAllLearningLibraryDetails()); return flashMessage.serializeMessage(); } @@ -609,7 +608,7 @@ } Long newContentID = contentIDGenerator.getNextToolContentIDFor(tool); - flashMessage = new FlashMessage("getToolContentID", newContentID); + FlashMessage flashMessage = new FlashMessage("getToolContentID", newContentID); return flashMessage.serializeMessage(); } @@ -667,8 +666,6 @@ public String generateUniqueContentFolder() throws FileUtilException, IOException { String newUniqueContentFolderID = null; - FlashMessage flashMessag = null; - Properties props = new Properties(); IdentifierGenerator uuidGen = new UUIDHexGenerator(); @@ -677,16 +674,17 @@ // lowercase to resolve OS issues newUniqueContentFolderID = ((String) uuidGen.generate(null, null)).toLowerCase(); - flashMessage = new FlashMessage("createUniqueContentFolder", newUniqueContentFolderID); + FlashMessage flashMessage = new FlashMessage("createUniqueContentFolder", newUniqueContentFolderID); return flashMessage.serializeMessage(); } /** @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getHelpURL() */ public String getHelpURL() throws Exception { - String helpURL = Configuration.get(ConfigurationKeys.HELP_URL); + FlashMessage flashMessage =null; + String helpURL = Configuration.get(ConfigurationKeys.HELP_URL); if(helpURL != null) flashMessage = new FlashMessage("getHelpURL", helpURL); else Index: lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java,v diff -u -r1.7 -r1.7.2.1 --- lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java 10 Oct 2006 05:17:36 -0000 1.7 +++ lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java 12 Mar 2007 01:29:24 -0000 1.7.2.1 @@ -56,9 +56,6 @@ private static Logger log = Logger.getLogger(StoreNBEntryServlet.class); public static final String STORE_NBENTRY_MESSAGE_KEY = "storeNotebookEntry"; - /** for sending acknowledgment/error messages back to flash */ - private FlashMessage flashMessage; - public ICoreNotebookService getNotebookService(){ WebApplicationContext webContext = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()); return (ICoreNotebookService) webContext.getBean("coreNotebookService"); @@ -81,7 +78,7 @@ { ICoreNotebookService notebookService = getNotebookService(); - + FlashMessage flashMessage= null; Hashtable table = (Hashtable)WDDXProcessor.deserialize(entryDetails); NotebookEntry notebookEntry = new NotebookEntry(); Index: lams_central/src/java/org/lamsfoundation/lams/security/JspRedirectStrategy.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/security/JspRedirectStrategy.java,v diff -u -r1.7 -r1.7.2.1 --- lams_central/src/java/org/lamsfoundation/lams/security/JspRedirectStrategy.java 11 Oct 2006 05:43:55 -0000 1.7 +++ lams_central/src/java/org/lamsfoundation/lams/security/JspRedirectStrategy.java 12 Mar 2007 01:29:25 -0000 1.7.2.1 @@ -75,15 +75,10 @@ String checkStatus = (String) session.getAttribute(AUTH_OBJECT_NAME); String id = session.getId(); - if (checkStatus == null) { - log.debug("===>LOGIN PAGE: there is no auth obj in session, auth obj created. session id: " + id); + if (checkStatus == null || checkStatus.equals(SECURITY_CHECK_NOT_PASSED)) { + log.debug("===>LOGIN PAGE: there is no auth obj in session or accessing login page before login succeed, auth obj created. session id: " + id); session.setAttribute(AUTH_OBJECT_NAME, SECURITY_CHECK_NOT_PASSED); - response.sendRedirect(WELCOME_PAGE); - return true; - } else if (checkStatus.equals(SECURITY_CHECK_NOT_PASSED)) { - log.debug("===>LOGIN PAGE: accessing login page before login succeed, display login page. session id: "+ id); - //set local information for login page. Because login.jsp does not pass thru any filters. try { LocaleFilter filter = new LocaleFilter(); filter.doFilter(request, response, null); Index: lams_central/src/java/org/lamsfoundation/lams/web/tag/CssTag.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/tag/CssTag.java,v diff -u -r1.18 -r1.18.2.1 --- lams_central/src/java/org/lamsfoundation/lams/web/tag/CssTag.java 4 Dec 2006 01:12:38 -0000 1.18 +++ lams_central/src/java/org/lamsfoundation/lams/web/tag/CssTag.java 12 Mar 2007 01:29:24 -0000 1.18.2.1 @@ -92,13 +92,9 @@ if(pageDirection.toLowerCase().equals(RTL_DIR)) rtl = true; - List themeList = CSSThemeUtil.getAllUserThemes(); + List themeList = CSSThemeUtil.getAllUserThemes(); - Iterator i = themeList.iterator(); - - while (i.hasNext()) - { - String theme = (String)i.next(); + for ( String theme: themeList) { if ( theme != null) { theme = appendStyle(theme, rtl); if (localLinkPath != null) Index: lams_central/src/java/org/lamsfoundation/lams/web/tag/MultiLinesTextareaTag.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/tag/MultiLinesTextareaTag.java,v diff -u -r1.5 -r1.5.2.1 --- lams_central/src/java/org/lamsfoundation/lams/web/tag/MultiLinesTextareaTag.java 17 Sep 2006 06:12:05 -0000 1.5 +++ lams_central/src/java/org/lamsfoundation/lams/web/tag/MultiLinesTextareaTag.java 12 Mar 2007 01:29:24 -0000 1.5.2.1 @@ -114,10 +114,11 @@ data = this.lookupProperty(this.name, this.property); } if(data != null){ - //change back - if(os.toLowerCase().indexOf("win") != -1) - data = data.replaceAll("
","\r\n"); - else + //comment: although window OS should be \r\n format, but in some case, it only include "\n" as well. + //so it is not safe to do replacement +// if(os.toLowerCase().indexOf("win") != -1) +// data = data.replaceAll("
","\r\n"); +// else data = data.replaceAll("
","\n"); } return data == null?"":data; Index: lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java,v diff -u -r1.1 -r1.1.2.1 --- lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java 5 Oct 2006 00:54:40 -0000 1.1 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java 12 Mar 2007 01:29:24 -0000 1.1.2.1 @@ -8,5 +8,40 @@ package org.lamsfoundation.lams.webservice; public interface Register extends java.rmi.Remote { - public boolean createUser(String username, String password, String firstName, String lastName, String email) throws java.rmi.RemoteException; + public boolean createUser(String username, + String password, + String firstName, + String lastName, + String email, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException; + + public boolean addUserToGroup( + String username, + String serverId, + String datetime, + String hash, + Boolean isTeacher) throws java.rmi.RemoteException; + + public boolean addUserToGroupLessons( + String username, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException; + + public boolean addUserToSubgroup( + String username, + String orgid, + String serverId, + String datetime, + String hash, + Boolean isTeacher) throws java.rmi.RemoteException; + + public boolean addUserToSubgroupLessons( + String username, + String orgId, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException; } Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java,v diff -u -r1.7 -r1.7.2.1 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java 29 Nov 2006 03:59:17 -0000 1.7 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java 12 Mar 2007 01:29:24 -0000 1.7.2.1 @@ -10,19 +10,21 @@ import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.Set; 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.integration.ExtServerOrgMap; +import org.lamsfoundation.lams.integration.security.Authenticator; +import org.lamsfoundation.lams.integration.service.IIntegrationService; 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; -import org.lamsfoundation.lams.usermanagement.OrganisationState; -import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.SupportedLocale; import org.lamsfoundation.lams.usermanagement.User; @@ -37,8 +39,6 @@ Logger log = Logger.getLogger(RegisterServiceSoapBindingImpl.class); - private static final String DEMO_ORG_NAME = "Demo Course"; - private static MessageContext context = MessageContext.getCurrentContext(); private static IUserManagementService service = (IUserManagementService) WebApplicationContextUtils @@ -51,9 +51,23 @@ ((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 { + private static IIntegrationService integrationService = (IIntegrationService) WebApplicationContextUtils + .getRequiredWebApplicationContext( + ((HttpServlet) context.getProperty(HTTPConstants.MC_HTTP_SERVLET)) + .getServletContext()).getBean("integrationService"); + + public boolean createUser( + String username, + String password, + String firstName, + String lastName, + String email, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException { try { + ExtServerOrgMap extServer = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(extServer, datetime, hash); if (service.getUserByLogin(username) != null) return false; User user = new User(); @@ -80,29 +94,125 @@ user.setHtmlTheme(htmlTheme); } service.save(user); - Organisation org = getDemoOrg(user); - addMemberships(user, org); - addUserToLessons(user, org); return true; } catch (Exception e) { log.debug(e.getMessage(), e); throw new java.rmi.RemoteException(e.getMessage()); } } + public boolean addUserToGroup( + String username, + String serverId, + String datetime, + String hash, + Boolean isTeacher) throws java.rmi.RemoteException { + try { + ExtServerOrgMap extServer = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(extServer, datetime, hash); + User user = service.getUserByLogin(username); + Organisation org = extServer.getOrganisation(); + addMemberships(user, org, isTeacher); + return true; + } catch (Exception e) { + log.debug(e.getMessage(), e); + throw new java.rmi.RemoteException(e.getMessage()); + } + } + + public boolean addUserToSubgroup( + String username, + String orgId, + String serverId, + String datetime, + String hash, + Boolean isTeacher) throws java.rmi.RemoteException { + try { + ExtServerOrgMap extServer = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(extServer, datetime, hash); + User user = service.getUserByLogin(username); + Organisation group = extServer.getOrganisation(); + Organisation subgroup = (Organisation)service.findById(Organisation.class, new Integer(orgId)); + Set children = group.getChildOrganisations(); + Iterator iter = children.iterator(); + while (iter.hasNext()) { + Organisation child = (Organisation)iter.next(); + if (child.getOrganisationId().equals(subgroup.getOrganisationId())) { + addMemberships(user, subgroup, isTeacher); + return true; + } + } + return false; + } catch (Exception e) { + log.debug(e.getMessage(), e); + throw new java.rmi.RemoteException(e.getMessage()); + } + } + + public boolean addUserToGroupLessons( + String username, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException { + try { + ExtServerOrgMap extServer = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(extServer, datetime, hash); + User user = service.getUserByLogin(username); + Organisation org = extServer.getOrganisation(); + addUserToLessons(user, org); + return true; + } catch (Exception e) { + log.debug(e.getMessage(), e); + throw new java.rmi.RemoteException(e.getMessage()); + } + } + + public boolean addUserToSubgroupLessons( + String username, + String orgId, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException { + try { + ExtServerOrgMap extServer = integrationService.getExtServerOrgMap(serverId); + Authenticator.authenticate(extServer, datetime, hash); + User user = service.getUserByLogin(username); + Organisation group = extServer.getOrganisation(); + + Organisation subgroup = (Organisation)service.findById(Organisation.class, new Integer(orgId)); + Set children = group.getChildOrganisations(); + Iterator iter = children.iterator(); + while (iter.hasNext()) { + Organisation child = (Organisation)iter.next(); + if (child.getOrganisationId().equals(subgroup.getOrganisationId())) { + addUserToLessons(user, subgroup); + return true; + } + } + return false; + } catch (Exception e) { + log.debug(e.getMessage(), e); + throw new java.rmi.RemoteException(e.getMessage()); + } + } + private SupportedLocale getLocale() { String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE); return service .getSupportedLocale(defaultLocale.substring(0, 2), defaultLocale.substring(3)); } @SuppressWarnings("unchecked") - private void addMemberships(User user, Organisation org) { + private void addMemberships(User user, Organisation org, Boolean isTeacher) { log.debug("adding memberships for user " + user.getUserId() + " in " + org.getName()); UserOrganisation uo = new UserOrganisation(user, org); service.save(uo); - Integer[] roles = new Integer[] { Role.ROLE_AUTHOR, Role.ROLE_MONITOR, - Role.ROLE_GROUP_MANAGER, Role.ROLE_LEARNER }; + Integer[] roles; + if (isTeacher) { + roles = new Integer[] { Role.ROLE_AUTHOR, Role.ROLE_MONITOR, Role.ROLE_LEARNER }; + } else { + roles = new Integer[] { Role.ROLE_LEARNER }; + } for (Integer roleId : roles) { UserOrganisationRole uor = new UserOrganisationRole(uo, (Role) service.findById( Role.class, roleId)); @@ -125,25 +235,4 @@ } } - private Organisation getDemoOrg(User user) { - Organisation org = null; - List list = service.findByProperty(Organisation.class, "name", DEMO_ORG_NAME); - if (list != null && list.size() > 0) { - org = (Organisation) list.get(0); - } - if (org == null) { - org = new Organisation(); - org.setName(DEMO_ORG_NAME); - org.setParentOrganisation(service.getRootOrganisation()); - org.setOrganisationType((OrganisationType) service.findById(OrganisationType.class, - OrganisationType.COURSE_TYPE)); - org.setOrganisationState((OrganisationState) service.findById(OrganisationState.class, - OrganisationState.ACTIVE)); - org.setLocale(getLocale()); - service.saveOrganisation(org, user.getUserId()); - } - log.debug(" Got org " + org.getOrganisationId()); - return org; - } - } Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java,v diff -u -r1.1 -r1.1.2.1 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java 5 Oct 2006 00:54:40 -0000 1.1 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java 12 Mar 2007 01:29:24 -0000 1.1.2.1 @@ -7,6 +7,7 @@ package org.lamsfoundation.lams.webservice; + public class RegisterServiceSoapBindingSkeleton implements org.lamsfoundation.lams.webservice.Register, org.apache.axis.wsdl.Skeleton { private org.lamsfoundation.lams.webservice.Register impl; private static java.util.Map _myOperations = new java.util.Hashtable(); @@ -27,7 +28,15 @@ } static { - org.apache.axis.description.OperationDesc _oper; + addCreateUser(); + addAddUserToGroup(); + addAddUserToGroupLessons(); + addAddUserToSubgroup(); + addAddUserToSubgroupLessons(); + } + + private static void addCreateUser() { + org.apache.axis.description.OperationDesc _oper; org.apache.axis.description.FaultDesc _fault; org.apache.axis.description.ParameterDesc [] _params; _params = new org.apache.axis.description.ParameterDesc [] { @@ -36,6 +45,9 @@ new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "firstName"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "lastName"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "email"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), }; _oper = new org.apache.axis.description.OperationDesc("createUser", _params, new javax.xml.namespace.QName("", "createUserReturn")); _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); @@ -47,6 +59,94 @@ } ((java.util.List)_myOperations.get("createUser")).add(_oper); } + + private static void addAddUserToGroup() { + org.apache.axis.description.OperationDesc _oper; + org.apache.axis.description.FaultDesc _fault; + org.apache.axis.description.ParameterDesc [] _params; + _params = new org.apache.axis.description.ParameterDesc [] { + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "username"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "isTeacher"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "boolean"), java.lang.Boolean.class, false, false), + }; + _oper = new org.apache.axis.description.OperationDesc("addUserToGroup", _params, new javax.xml.namespace.QName("", "addUserToGroupReturn")); + _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + _oper.setElementQName(new javax.xml.namespace.QName("", "addUserToGroup")); + _oper.setSoapAction(""); + _myOperationsList.add(_oper); + if (_myOperations.get("addUserToGroup") == null) { + _myOperations.put("addUserToGroup", new java.util.ArrayList()); + } + ((java.util.List)_myOperations.get("addUserToGroup")).add(_oper); + } + + private static void addAddUserToGroupLessons() { + org.apache.axis.description.OperationDesc _oper; + org.apache.axis.description.FaultDesc _fault; + org.apache.axis.description.ParameterDesc [] _params; + _params = new org.apache.axis.description.ParameterDesc [] { + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "username"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + }; + _oper = new org.apache.axis.description.OperationDesc("addUserToGroupLessons", _params, new javax.xml.namespace.QName("", "addUserToGroupLessonsReturn")); + _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + _oper.setElementQName(new javax.xml.namespace.QName("", "addUserToGroupLessons")); + _oper.setSoapAction(""); + _myOperationsList.add(_oper); + if (_myOperations.get("addUserToGroupLessons") == null) { + _myOperations.put("addUserToGroupLessons", new java.util.ArrayList()); + } + ((java.util.List)_myOperations.get("addUserToGroupLessons")).add(_oper); + } + + private static void addAddUserToSubgroup() { + org.apache.axis.description.OperationDesc _oper; + org.apache.axis.description.FaultDesc _fault; + org.apache.axis.description.ParameterDesc [] _params; + _params = new org.apache.axis.description.ParameterDesc [] { + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "username"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "orgId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "isTeacher"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "boolean"), java.lang.Boolean.class, false, false), + }; + _oper = new org.apache.axis.description.OperationDesc("addUserToSubgroup", _params, new javax.xml.namespace.QName("", "addUserToSubgroupReturn")); + _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + _oper.setElementQName(new javax.xml.namespace.QName("", "addUserToSubgroup")); + _oper.setSoapAction(""); + _myOperationsList.add(_oper); + if (_myOperations.get("addUserToSubgroup") == null) { + _myOperations.put("addUserToSubgroup", new java.util.ArrayList()); + } + ((java.util.List)_myOperations.get("addUserToSubgroup")).add(_oper); + } + + private static void addAddUserToSubgroupLessons() { + org.apache.axis.description.OperationDesc _oper; + org.apache.axis.description.FaultDesc _fault; + org.apache.axis.description.ParameterDesc [] _params; + _params = new org.apache.axis.description.ParameterDesc [] { + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "username"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "orgId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + }; + _oper = new org.apache.axis.description.OperationDesc("addUserToSubgroupLessons", _params, new javax.xml.namespace.QName("", "addUserToSubgroupLessonsReturn")); + _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + _oper.setElementQName(new javax.xml.namespace.QName("", "addUserToSubgroupLessons")); + _oper.setSoapAction(""); + _myOperationsList.add(_oper); + if (_myOperations.get("addUserToSubgroupLessons") == null) { + _myOperations.put("addUserToSubgroupLessons", new java.util.ArrayList()); + } + ((java.util.List)_myOperations.get("addUserToSubgroupLessons")).add(_oper); + } public RegisterServiceSoapBindingSkeleton() { this.impl = new org.lamsfoundation.lams.webservice.RegisterServiceSoapBindingImpl(); @@ -55,10 +155,30 @@ public RegisterServiceSoapBindingSkeleton(org.lamsfoundation.lams.webservice.Register impl) { this.impl = impl; } - public boolean createUser(String username, String password, String firstName, String lastName, String email) throws java.rmi.RemoteException + + public boolean createUser(String username, String password, String firstName, String lastName, String email, String serverId, String datetime, String hash) throws java.rmi.RemoteException { - boolean ret = impl.createUser(username, password, firstName, lastName, email); + boolean ret = impl.createUser(username, password, firstName, lastName, email, serverId, datetime, hash); return ret; } + + public boolean addUserToGroup(String username, String serverId, String datetime, String hash, Boolean isTeacher) throws java.rmi.RemoteException { + boolean ret = impl.addUserToGroup(username, serverId, datetime, hash, isTeacher); + return ret; + } + + public boolean addUserToGroupLessons(String username, String serverId, String datetime, String hash) throws java.rmi.RemoteException { + boolean ret = impl.addUserToGroupLessons(username, serverId, datetime, hash); + return ret; + } + public boolean addUserToSubgroup(String username, String orgId, String serverId, String datetime, String hash, Boolean isTeacher) throws java.rmi.RemoteException { + boolean ret = impl.addUserToSubgroup(username, orgId, serverId, datetime, hash, isTeacher); + return ret; + } + + public boolean addUserToSubgroupLessons(String username, String orgId, String serverId, String datetime, String hash) throws java.rmi.RemoteException { + boolean ret = impl.addUserToSubgroupLessons(username, orgId, serverId, datetime, hash); + return ret; + } } Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java,v diff -u -r1.42 -r1.42.2.1 --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 29 Nov 2006 03:59:17 -0000 1.42 +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 12 Mar 2007 01:29:25 -0000 1.42.2.1 @@ -78,11 +78,8 @@ */ public class WorkspaceManagementService implements IWorkspaceManagementService{ - protected Logger log = Logger.getLogger(WorkspaceManagementService.class.getName()); - - private FlashMessage flashMessage; + protected Logger log = Logger.getLogger(WorkspaceManagementService.class.getName()); - public static final Integer AUTHORING = new Integer(1); public static final Integer MONITORING = new Integer(2); @@ -133,7 +130,6 @@ this.userMgmtService = userMgmtService; } - /** * (non-Javadoc) * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#deleteResource(java.lang.Integer, java.lang.String, java.lang.Integer) @@ -182,6 +178,8 @@ * @throws IOException */ public String deleteFolder(Integer folderID, Integer userID)throws IOException{ + FlashMessage flashMessage = null; + WorkspaceFolder workspaceFolder = (WorkspaceFolder)baseDAO.find(WorkspaceFolder.class,folderID); User user = (User)userMgmtService.findById(User.class,userID); if(user!=null){ @@ -212,6 +210,7 @@ */ private FlashMessage deleteFolderContents(WorkspaceFolder folder, Integer userID) throws IOException { + FlashMessage flashMessage = null; boolean isDeleteSuccessful = true; Integer folderID = folder.getWorkspaceFolderId(); @@ -474,6 +473,7 @@ * @throws IOException */ public String copyFolder(Integer folderID,Integer targetFolderID,Integer userID)throws IOException{ + FlashMessage flashMessage = null; try{ if(isUserAuthorized(targetFolderID,userID)){ WorkspaceFolder workspaceFolder = (WorkspaceFolder)baseDAO.find(WorkspaceFolder.class,folderID); @@ -614,6 +614,7 @@ * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#createFolder(java.lang.Integer, java.lang.String, java.lang.Integer) */ public String createFolderForFlash(Integer parentFolderID, String name, Integer userID)throws IOException{ + FlashMessage flashMessage = null; try{ WorkspaceFolder newFolder = createFolder(parentFolderID,name,userID); Hashtable table = new Hashtable(); @@ -675,6 +676,7 @@ * @throws IOException */ public String deleteLearningDesign(Long learningDesignID, Integer userID)throws IOException{ + FlashMessage flashMessage = null; User user = (User)baseDAO.find(User.class,userID); if(user!=null){ LearningDesign learningDesign = learningDesignDAO.getLearningDesignById(learningDesignID); @@ -743,6 +745,7 @@ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#moveFolder(java.lang.Integer, java.lang.Integer, java.lang.Integer) */ public String moveFolder(Integer currentFolderID,Integer targetFolderID,Integer userID)throws IOException{ + FlashMessage flashMessage = null; try{ if(isUserAuthorized(targetFolderID,userID)){ WorkspaceFolder currentFolder = (WorkspaceFolder)baseDAO.find(WorkspaceFolder.class,currentFolderID); @@ -819,7 +822,9 @@ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#createWorkspaceFolderContent(java.lang.Integer, java.lang.String, java.lang.String, java.lang.Integer, java.lang.String, java.lang.String) */ public String createWorkspaceFolderContent(Integer contentTypeID,String name,String description,Integer workspaceFolderID, String mimeType, String path) throws Exception{ - // TODO add some validation so that a non-unique name doesn't result in an index violation + FlashMessage flashMessage = null; + + // TODO add some validation so that a non-unique name doesn't result in an index violation // bit hard for the user to understand. WorkspaceFolder workspaceFolder = (WorkspaceFolder)baseDAO.find(WorkspaceFolder.class,workspaceFolderID); @@ -899,6 +904,7 @@ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#updateWorkspaceFolderContent(java.lang.Long, java.io.InputStream) */ public String updateWorkspaceFolderContent(Long folderContentID,String path)throws Exception{ + FlashMessage flashMessage = null; InputStream stream = new FileInputStream(path); WorkspaceFolderContent workspaceFolderContent = (WorkspaceFolderContent)baseDAO.find(WorkspaceFolderContent.class,folderContentID); if(workspaceFolderContent!=null){ @@ -959,6 +965,7 @@ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#deleteContentWithVersion(java.lang.Long, java.lang.Long, java.lang.Long) */ public String deleteContentWithVersion(Long uuid, Long versionToBeDeleted,Long folderContentID)throws Exception{ + FlashMessage flashMessage = null; WorkspaceFolderContent workspaceFolderContent = (WorkspaceFolderContent)baseDAO.find(WorkspaceFolderContent.class,folderContentID); if (workspaceFolderContent != null) { @@ -1026,6 +1033,7 @@ * @throws Exception */ public String deleteWorkspaceFolderContent(Long folderContentID) throws IOException { + FlashMessage flashMessage = null; WorkspaceFolderContent workspaceFolderContent = (WorkspaceFolderContent)baseDAO.find(WorkspaceFolderContent.class,folderContentID); if(workspaceFolderContent!=null){ baseDAO.delete(workspaceFolderContent); @@ -1214,6 +1222,7 @@ public String moveLearningDesign(Long learningDesignID, Integer targetWorkspaceFolderID, Integer userID) throws IOException { + FlashMessage flashMessage = null; try{ if(isUserAuthorized(targetWorkspaceFolderID,userID)){ LearningDesign learningDesign = learningDesignDAO.getLearningDesignById(learningDesignID); @@ -1275,25 +1284,27 @@ * @throws IOException */ public String renameWorkspaceFolder(Integer workspaceFolderID,String newName,Integer userID)throws IOException{ + FlashMessage flashMessage = null; try{ WorkspaceFolder folder = (WorkspaceFolder)baseDAO.find(WorkspaceFolder.class,workspaceFolderID); if(folder!=null){ WorkspaceFolder parent = folder.getParentWorkspaceFolder(); - if(parent!=null){ - if(isUserAuthorized(workspaceFolderID,userID)){ - if(!ifNameExists(parent,newName)){ - folder.setName(newName); - baseDAO.update(folder); - flashMessage = new FlashMessage(MSG_KEY_RENAME,newName); - }else - flashMessage = new FlashMessage(MSG_KEY_RENAME, - messageService.getMessage("folder.already.exist",new Object[]{newName}), - FlashMessage.ERROR); - }else - flashMessage = FlashMessage.getUserNotAuthorized(MSG_KEY_RENAME,userID); + if(parent!=null && isUserAuthorized(workspaceFolderID,userID)){ + if(!ifNameExists(parent,newName)){ + folder.setName(newName); + baseDAO.update(folder); + flashMessage = new FlashMessage(MSG_KEY_RENAME,newName); + } else { + flashMessage = new FlashMessage(MSG_KEY_RENAME, + messageService.getMessage("folder.already.exist",new Object[]{newName}), + FlashMessage.ERROR); + } + } else { + flashMessage = FlashMessage.getUserNotAuthorized(MSG_KEY_RENAME,userID); } - }else + }else { flashMessage = FlashMessage.getNoSuchWorkspaceFolderExsists(MSG_KEY_RENAME,workspaceFolderID); + } }catch(UserException ue){ flashMessage = FlashMessage.getNoSuchUserExists(MSG_KEY_RENAME, userID); }catch(WorkspaceFolderException we){ @@ -1314,6 +1325,7 @@ * @throws IOException */ public String renameLearningDesign(Long learningDesignID, String title,Integer userID)throws IOException { + FlashMessage flashMessage = null; LearningDesign design = learningDesignDAO.getLearningDesignById(learningDesignID); Integer folderID = null; try{ @@ -1339,6 +1351,7 @@ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#getWorkspace(java.lang.Integer) */ public String getWorkspace(Integer userID) throws IOException { + FlashMessage flashMessage = null; User user = (User)baseDAO.find(User.class,userID); if (user != null) { Workspace workspace = user.getWorkspace(); @@ -1353,6 +1366,7 @@ */ public String getOrganisationsByUserRole(Integer userID, List roleNames, Integer courseId, List restrictToClassIds) throws IOException { + FlashMessage flashMessage = null; User user = (User)baseDAO.find(User.class,userID); if (user!=null) { @@ -1376,6 +1390,7 @@ */ public String getUserOrganisation(Integer userID, Integer organisationId) throws IOException { + FlashMessage flashMessage = null; User user = (User)baseDAO.find(User.class,userID); if (user!=null) { Index: lams_central/web/WEB-INF/lams.tld =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/WEB-INF/Attic/lams.tld,v diff -u -r1.32 -r1.32.2.1 --- lams_central/web/WEB-INF/lams.tld 16 Nov 2006 05:10:02 -0000 1.32 +++ lams_central/web/WEB-INF/lams.tld 12 Mar 2007 01:30:05 -0000 1.32.2.1 @@ -430,5 +430,39 @@ DefineLater /WEB-INF/tags/DefineLater.tag + + ImgButtonWrapper + /WEB-INF/tags/ImgButtonWrapper.tag + + + textarea + org.lamsfoundation.lams.web.tag.LAMSMultiLinesTextareaTag + JSP + true + + Render text exactly same as original input, which even won't escape the input HTML tag. + + + + + name + true + true + + + + + id + false + true + + + + + onchange + false + true + + Index: lams_central/web/WEB-INF/server-config.wsdd =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/WEB-INF/server-config.wsdd,v diff -u -r1.3 -r1.3.2.1 --- lams_central/web/WEB-INF/server-config.wsdd 6 Oct 2006 02:50:58 -0000 1.3 +++ lams_central/web/WEB-INF/server-config.wsdd 12 Mar 2007 01:30:05 -0000 1.3.2.1 @@ -66,7 +66,7 @@ - @@ -77,7 +77,7 @@ - + --> Index: lams_central/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/WEB-INF/Attic/web.xml,v diff -u -r1.29 -r1.29.2.1 --- lams_central/web/WEB-INF/web.xml 28 Sep 2006 23:27:37 -0000 1.29 +++ lams_central/web/WEB-INF/web.xml 12 Mar 2007 01:30:05 -0000 1.29.2.1 @@ -467,9 +467,10 @@ LEARNER MONITOR AUTHOR - COURSE MANAGER - COURSE ADMIN + GROUP MANAGER + GROUP ADMIN SYSADMIN + AUTHOR ADMIN @@ -480,6 +481,7 @@ AUTHOR + AUTHOR ADMIN @@ -501,9 +503,10 @@ AUTHOR MONITOR - COURSE MANAGER - COURSE ADMIN + GROUP MANAGER + GROUP ADMIN SYSADMIN + AUTHOR ADMIN @@ -535,15 +538,19 @@ - COURSE MANAGER + GROUP MANAGER - COURSE ADMIN + GROUP ADMIN Can add/remove users to the system, set up classes of users for sessions SYSADMIN + + AUTHOR ADMIN + + Index: lams_central/web/css/defaultHTML_rtl.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/css/defaultHTML_rtl.css,v diff -u -r1.12 -r1.12.2.1 --- lams_central/web/css/defaultHTML_rtl.css 4 Dec 2006 08:11:41 -0000 1.12 +++ lams_central/web/css/defaultHTML_rtl.css 12 Mar 2007 01:30:06 -0000 1.12.2.1 @@ -272,8 +272,7 @@ background: url('../images/css/body_bg.jpg') repeat-y top right; padding: 0px 15px 40px 15px; font-size: 11px; - margin-top: -5px - + margin-top: -5px; } /*layout of Links within the content area */ @@ -381,17 +380,26 @@ padding:3px 25px 5px 15px; font-size:11px; display: table-cell; + } +#button-table { + display: table; + border-spacing: 10px 0px; +} +#button-row { + display: table-row-group; +} + /*layout of adding a topic button */ #content a.button-add-item { background: url('../images/css/btn_add_off_rtl.gif') no-repeat top right; color: #333; border: 0px none; padding:3px 25px 5px 15px; font-size:11px; - display: table; + display: table-cell; } #content a:hover.button-add-item { @@ -402,7 +410,7 @@ padding-left: 15px; padding-right: 25px; font-size:11px; - display: table; + display: table-cell; } /************ The sequence name box **********/ @@ -435,7 +443,7 @@ color:#FF6666; text-decoration: none; border-bottom: 1px dotted #FF6666; - } +} #content a:hover.disabled-sequence-name-link { Index: lams_central/web/css/ie-styles_rtl.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/css/ie-styles_rtl.css,v diff -u -r1.6 -r1.6.2.1 --- lams_central/web/css/ie-styles_rtl.css 30 Nov 2006 05:20:07 -0000 1.6 +++ lams_central/web/css/ie-styles_rtl.css 12 Mar 2007 01:30:06 -0000 1.6.2.1 @@ -102,16 +102,17 @@ border: 0px none; padding:5px 15px 6px 30px; font-size:11px; - } + margin: 5px; +} a:hover.button-add-item { background: url('../images/css/btn_add_over_rtl.gif')no-repeat right top; color: #349018; border: 0px none; padding:5px 15px 6px 30px; font-size:11px; - - } + margin: 5px; +} /*layout of a general button*/ a.button { @@ -120,8 +121,7 @@ border: 0px none; padding:5px 15px 6px 15px; font-size:11px; - display:table; - + margin: 5px; } a:hover.button { @@ -130,13 +130,20 @@ border: 0px none; padding:5px 15px 6px 15px; font-size:11px; - display:table; + margin: 5px; } - - + +#button-table { + display: block; +} + +#button-row { + display: block; +} + #content { padding-bottom:0px - } +} .right-buttons {float:left; padding-top:5px; padding-bottom:5px; margin-bottom:20px;} Index: lams_central/web/css/ie7-styles_rtl.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/css/ie7-styles_rtl.css,v diff -u -r1.2 -r1.2.2.1 --- lams_central/web/css/ie7-styles_rtl.css 4 Dec 2006 08:27:24 -0000 1.2 +++ lams_central/web/css/ie7-styles_rtl.css 12 Mar 2007 01:30:06 -0000 1.2.2.1 @@ -14,4 +14,4 @@ margin-top: 0px; float: left; text-align: center; -} \ No newline at end of file +} Index: lams_central/web/errorpages/403.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/errorpages/403.jsp,v diff -u -r1.4 -r1.4.2.1 --- lams_central/web/errorpages/403.jsp 16 Nov 2006 04:24:20 -0000 1.4 +++ lams_central/web/errorpages/403.jsp 12 Mar 2007 01:30:05 -0000 1.4.2.1 @@ -25,11 +25,11 @@ - + Index: lams_central/web/includes/javascript/common.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/common.js,v diff -u -r1.3 -r1.3.2.1 --- lams_central/web/includes/javascript/common.js 1 Oct 2006 22:30:02 -0000 1.3 +++ lams_central/web/includes/javascript/common.js 12 Mar 2007 01:30:06 -0000 1.3.2.1 @@ -45,4 +45,32 @@ target.value=srcV.replace(/\n/g,"
"); } + } + function trimAll( strValue ) { + var replaceExpr = /^(\s*)$/; + + //check for all spaces + if(replaceExpr.test(strValue)) { + strValue = strValue.replace(replaceExpr, ''); + if( strValue.length == 0) + return strValue; + } + + //check for leading & trailing spaces + replaceExpr = /^(\s*)([\W\w]*)(\b\s*$)/; + if(replaceExpr.test(strValue)) { + //remove leading and trailing whitespace characters + strValue = strValue.replace(replaceExpr, '$2'); + } + return strValue; + } + + function isEmpty( strValue ) { + + var strTemp = strValue; + strTemp = trimAll(strTemp); + if(strTemp.length > 0){ + return false; + } + return true; } \ No newline at end of file Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/themes/CSSThemeVisualElement.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/themes/Attic/CSSThemeVisualElement.hbm.xml,v diff -u -r1.5 -r1.5.2.1 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/themes/CSSThemeVisualElement.hbm.xml 23 Mar 2006 23:53:42 -0000 1.5 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/themes/CSSThemeVisualElement.hbm.xml 12 Mar 2007 01:30:27 -0000 1.5.2.1 @@ -81,7 +81,19 @@ not-null="true" - + + true + + @hibernate.property + column="image_directory" + length="100" + + Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml,v diff -u -r1.3 -r1.3.2.1 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml 4 Sep 2006 02:13:06 -0000 1.3 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml 12 Mar 2007 01:30:28 -0000 1.3.2.1 @@ -15,7 +15,7 @@