Index: lams_admin/conf/language/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_admin/conf/language/Attic/ApplicationResources.properties,v diff -u -r1.59 -r1.60 --- lams_admin/conf/language/ApplicationResources.properties 15 Dec 2006 18:34:32 -0000 1.59 +++ lams_admin/conf/language/ApplicationResources.properties 2 Jan 2007 06:03:48 -0000 1.60 @@ -211,3 +211,12 @@ #======= End labels: Exported 202 labels for en AU ===== +error.no.sysadmin.priviledge=You have no priviledge to do this. +sysadmin.library.management=Learning Library Management +sysadmin.library.totals=learning library(ies) totally +sysadmin.library.title=Title +sysadmin.library.description=Description +sysadmin.library.activity.title=Activity title +sysadmin.library.activity.description=Activity description +sysadmin.library.createtime=Create time +sysadmin.function=Function \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/LibraryManageAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/Attic/LibraryManageAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/LibraryManageAction.java 2 Jan 2007 06:03:49 -0000 1.1 @@ -0,0 +1,129 @@ +package org.lamsfoundation.lams.admin.web; + +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learningdesign.dto.AuthoringActivityDTO; +import org.lamsfoundation.lams.learningdesign.dto.LearningLibraryDTO; +import org.lamsfoundation.lams.learningdesign.dto.LibraryActivityDTO; +import org.lamsfoundation.lams.learningdesign.service.ILearningDesignService; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.WebUtil; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + + +/** + * Manage the learning libraries to allow sysadmin to enable/disable a libraries. + * + * @struts:action path="/libraryManage" + * validate="false" + * @struts:action-forward name="success" + * path=".librarylist" + * @author steven + * + */ +public class LibraryManageAction extends Action { + public static final String LEARNING_DESIGN_SERVICE_BEAN_NAME = "learningDesignService"; + private static final String USER_MANAGEMENT_SERVICE_BEAN_NAME = "userManagementService"; + public static final String REQUEST_LIBRARIES = "libraries"; + public static final String PARAM_LIBRARY_ID = "libraryID"; + public static final String PARAM_ACTION = "action"; + public static final String ERROR_MSG_NO_PRIVILEDGE = "error.no.sysadmin.priviledge"; + + /** + * Entry of STRUST action + */ + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + String param = request.getParameter(PARAM_ACTION); + // --------------------------- + if (StringUtils.equals(param,"enable")) { + if(!checkPriviledge(request)){ + return mapping.findForward("success"); + } + enableLibray(mapping, form, request, response); + } + if (StringUtils.equals(param,"disable")) { + disableLibray(mapping, form, request, response); + } + + // --------------------------- + // Display all libraries + ILearningDesignService ldService = getLearningDesignService(); + List lds = ldService.getAllLearningLibraryDetails(false); + + //handle multiple activities library: only left on activity which has learning_libarayIid populated + for (LearningLibraryDTO libraryDTO : lds) { + Vector activities = libraryDTO.getTemplateActivities(); + if(activities != null){ + Iterator actIter = activities.iterator(); + while(actIter.hasNext()){ + LibraryActivityDTO act = actIter.next(); + if(act.getLearningLibraryID() == null) + actIter.remove(); + } + } + } + request.setAttribute(REQUEST_LIBRARIES, lds); + return mapping.findForward("success"); + } + + + + private void disableLibray(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + Long learningLibraryId = WebUtil.readLongParam(request, PARAM_LIBRARY_ID, false); + ILearningDesignService ldService = getLearningDesignService(); + ldService.setValid(learningLibraryId,false); + } + + private void enableLibray(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + Long learningLibraryId = WebUtil.readLongParam(request, PARAM_LIBRARY_ID, false); + ILearningDesignService ldService = getLearningDesignService(); + ldService.setValid(learningLibraryId,true); + + } + + //************************************************************************************* + // Private method + //************************************************************************************* + /** + * Return Service bean. + */ + private ILearningDesignService getLearningDesignService() { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); + return (ILearningDesignService) wac.getBean(LEARNING_DESIGN_SERVICE_BEAN_NAME); + } + private IUserManagementService getUserManagementService() { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); + return (IUserManagementService) wac.getBean(USER_MANAGEMENT_SERVICE_BEAN_NAME); + } + /** + * Double check priviledge : is sys admin? + * @param request + * @return + */ + private boolean checkPriviledge(HttpServletRequest request) { + if(!getUserManagementService().isUserSysAdmin()){ + ActionMessages errors = new ActionMessages(); + errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(ERROR_MSG_NO_PRIVILEDGE)); + this.saveErrors(request, errors); + return false; + } + + return true; + } +} Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java,v diff -u -r1.3 -r1.4 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java 4 Dec 2006 05:17:41 -0000 1.3 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java 2 Jan 2007 06:03:48 -0000 1.4 @@ -74,6 +74,8 @@ links.add(linkBean); linkBean = new LinkBean("register.do", "sysadmin.register.server"); links.add(linkBean); + linkBean = new LinkBean("libraryManage.do", "sysadmin.library.management"); + links.add(linkBean); } else if (request.isUserInRole(Role.AUTHOR_ADMIN)) { LinkBean linkBean = new LinkBean("toolcontentlist.do", "sysadmin.edit.default.tool.content"); links.add(linkBean); Index: lams_admin/web/librarylist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/Attic/librarylist.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_admin/web/librarylist.jsp 2 Jan 2007 06:03:49 -0000 1.1 @@ -0,0 +1,37 @@ +<%@ include file="/taglibs.jsp"%> + +

:

+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+

${fn:length(libraries)}

\ No newline at end of file Index: lams_admin/web/WEB-INF/lams.tld =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/Attic/lams.tld,v diff -u -r1.9 -r1.10 --- lams_admin/web/WEB-INF/lams.tld 6 Dec 2006 03:54:13 -0000 1.9 +++ lams_admin/web/WEB-INF/lams.tld 2 Jan 2007 06:03:47 -0000 1.10 @@ -434,5 +434,35 @@ 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_admin/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/Attic/web.xml,v diff -u -r1.18 -r1.19 --- lams_admin/web/WEB-INF/web.xml 31 Oct 2006 05:22:42 -0000 1.18 +++ lams_admin/web/WEB-INF/web.xml 2 Jan 2007 06:03:48 -0000 1.19 @@ -213,8 +213,8 @@ AUTHOR ADMIN - COURSE MANAGER - COURSE ADMIN + GROUP MANAGER + GROUP ADMIN SYSADMIN @@ -234,10 +234,10 @@ AUTHOR ADMIN - COURSE MANAGER + GROUP MANAGER - COURSE ADMIN + GROUP ADMIN SYSADMIN Index: lams_admin/web/WEB-INF/struts/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/struts/Attic/struts-config.xml,v diff -u -r1.17 -r1.18 --- lams_admin/web/WEB-INF/struts/struts-config.xml 20 Dec 2006 04:53:07 -0000 1.17 +++ lams_admin/web/WEB-INF/struts/struts-config.xml 2 Jan 2007 06:03:48 -0000 1.18 @@ -208,6 +208,18 @@ /> + + + + + + - - - - + \ No newline at end of file Index: lams_admin/web/WEB-INF/tags/ExportPortOutput.tag =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/tags/Attic/ExportPortOutput.tag,v diff -u -r1.2 -r1.3 --- lams_admin/web/WEB-INF/tags/ExportPortOutput.tag 17 Sep 2006 06:09:51 -0000 1.2 +++ lams_admin/web/WEB-INF/tags/ExportPortOutput.tag 2 Jan 2007 06:03:48 -0000 1.3 @@ -38,7 +38,7 @@
  • - "/> + " target="_blank"/> Index: lams_admin/web/WEB-INF/tags/FCKEditor.tag =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/tags/Attic/FCKEditor.tag,v diff -u -r1.1 -r1.2 --- lams_admin/web/WEB-INF/tags/FCKEditor.tag 11 Sep 2006 07:03:48 -0000 1.1 +++ lams_admin/web/WEB-INF/tags/FCKEditor.tag 2 Jan 2007 06:03:48 -0000 1.2 @@ -5,7 +5,7 @@ <%@ attribute name="id" required="true" rtexprvalue="true"%> <%@ attribute name="value" required="true" rtexprvalue="true"%> <%@ attribute name="toolbarSet" required="false" rtexprvalue="true"%> -<%@ attribute name="contentFolderID" required="true" rtexprvalue="true"%> +<%@ attribute name="contentFolderID" required="false" rtexprvalue="true"%> Index: lams_admin/web/WEB-INF/tiles/tiles-defs.xml =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/tiles/Attic/tiles-defs.xml,v diff -u -r1.24 -r1.25 --- lams_admin/web/WEB-INF/tiles/tiles-defs.xml 27 Oct 2006 06:34:26 -0000 1.24 +++ lams_admin/web/WEB-INF/tiles/tiles-defs.xml 2 Jan 2007 06:03:48 -0000 1.25 @@ -70,6 +70,10 @@ + + + +