Index: lams_tool_larsrc/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r3fe05cc69b1d0cfa2cb494a4778a8ab00dec2d60 -raf0f333826569e48655569fbf9c8b13decd475b0 --- lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 3fe05cc69b1d0cfa2cb494a4778a8ab00dec2d60) +++ lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision af0f333826569e48655569fbf9c8b13decd475b0) @@ -180,11 +180,11 @@ - - - + + --> + * + * + * @param request + * the request send by the client to the server + * @param response + * the response send by the server to the client + * @throws ServletException + * if an error occurred + * @throws IOException + * if an error occurred + */ + public void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String mode = request.getParameter(AttributeNames.ATTR_MODE); + String sessionMapID = request.getParameter(ResourceConstants.ATTR_SESSION_MAP_ID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + + Long resourceItemUid = new Long(request.getParameter(ResourceConstants.PARAM_RESOURCE_ITEM_UID)); + + HttpSession ss = SessionManager.getSession(); + + // get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + + Long sessionId = (Long) sessionMap.get(ResourceConstants.ATTR_TOOL_SESSION_ID); + service.setItemComplete(resourceItemUid, new Long(user.getUserID().intValue()), sessionId); + + // set resource item complete tag + SortedSet resourceItemList = getResourceItemList(sessionMap); + for (ResourceItem item : resourceItemList) { + if (item.getUid().equals(resourceItemUid)) { + item.setComplete(true); + break; + } + } + + ResourceUser rUser = service.getUserByIDAndSession(new Long(user.getUserID()), sessionId); + + response.setContentType("text/javascript"); + PrintWriter out = response.getWriter(); + + if(!rUser.isSessionFinished()) { + out.println("window.parent.opener.checkNew();"); + out.println("window.parent.opener=null;"); + out.println("window.parent.close();"); + } else { + out.println("window.parent.close();"); + } + + out.println(); + out.flush(); + out.close(); + } + + /** + * List save current resource items. + * + * @param request + * @return + */ + private SortedSet getResourceItemList(SessionMap sessionMap) { + SortedSet list = (SortedSet) sessionMap + .get(ResourceConstants.ATTR_RESOURCE_ITEM_LIST); + if (list == null) { + list = new TreeSet(new ResourceItemComparator()); + sessionMap.put(ResourceConstants.ATTR_RESOURCE_ITEM_LIST, list); + } + return list; + } + +} + \ No newline at end of file Index: lams_tool_larsrc/web/WEB-INF/web.xml =================================================================== diff -u -ra694f9caf0484c905a5dd6cd91c20f81e66ec87e -raf0f333826569e48655569fbf9c8b13decd475b0 --- lams_tool_larsrc/web/WEB-INF/web.xml (.../web.xml) (revision a694f9caf0484c905a5dd6cd91c20f81e66ec87e) +++ lams_tool_larsrc/web/WEB-INF/web.xml (.../web.xml) (revision af0f333826569e48655569fbf9c8b13decd475b0) @@ -87,6 +87,11 @@ + completeItem + org.lamsfoundation.lams.tool.rsrc.web.servlet.CompleteItemServlet + + + action org.apache.struts.action.ActionServlet @@ -155,6 +160,11 @@ /exportPortfolio + + completeItem + /learning/completeItem + + Index: lams_tool_larsrc/web/common/header.jsp =================================================================== diff -u -r18e5e690d2e1a7c3d918759f7a2827c8205feaac -raf0f333826569e48655569fbf9c8b13decd475b0 --- lams_tool_larsrc/web/common/header.jsp (.../header.jsp) (revision 18e5e690d2e1a7c3d918759f7a2827c8205feaac) +++ lams_tool_larsrc/web/common/header.jsp (.../header.jsp) (revision af0f333826569e48655569fbf9c8b13decd475b0) @@ -11,6 +11,7 @@ + Index: lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp =================================================================== diff -u -r18e5e690d2e1a7c3d918759f7a2827c8205feaac -raf0f333826569e48655569fbf9c8b13decd475b0 --- lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp (.../instructionsnav.jsp) (revision 18e5e690d2e1a7c3d918759f7a2827c8205feaac) +++ lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp (.../instructionsnav.jsp) (revision af0f333826569e48655569fbf9c8b13decd475b0) @@ -27,13 +27,23 @@ ${instructions.title} <%@ include file="/common/header.jsp"%> - + <%-- param has higher level for request attribute --%>