Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java =================================================================== diff -u -rbb041188ecb180ae9cd8e01428c8f431aa89bd93 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision bb041188ecb180ae9cd8e01428c8f431aa89bd93) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -21,6 +21,8 @@ * ***********************************************************************/ package org.lamsfoundation.lams.tool.qa.dao; +import java.util.List; + import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaSession; @@ -45,4 +47,6 @@ public int countSessionUser(QaSession qaSession); public int getTotalNumberOfUsers(); + + public List getUserBySessionOnly(final QaSession qaSession); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java =================================================================== diff -u -rf2b7c28c53bfee9c676b5a836e42b71e0e1bf20f -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision f2b7c28c53bfee9c676b5a836e42b71e0e1bf20f) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -21,6 +21,8 @@ * ***********************************************************************/ package org.lamsfoundation.lams.tool.qa.dao; +import java.util.List; + import org.lamsfoundation.lams.tool.qa.QaUsrResp; @@ -42,6 +44,8 @@ public void removeUserResponseByQaQueId(Long qaQueId); public QaUsrResp retrieveQaUsrResp(long responseId); + + public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java =================================================================== diff -u -rbb041188ecb180ae9cd8e01428c8f431aa89bd93 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision bb041188ecb180ae9cd8e01428c8f431aa89bd93) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -44,6 +44,7 @@ static Logger logger = Logger.getLogger(QaQueUsrDAO.class.getName()); private static final String COUNT_SESSION_USER = "select qaQueUsr.queUsrId from QaQueUsr qaQueUsr where qaQueUsr.qaSessionId= :qaSession"; + private static final String LOAD_USER_FOR_SESSION = "from qaQueUsr in class QaQueUsr where qaQueUsr.qaSessionId= :qaSessionId"; public QaQueUsr getQaUserByUID(Long uid) { @@ -75,8 +76,18 @@ } return null; } + + public List getUserBySessionOnly(final QaSession qaSession) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_USER_FOR_SESSION) + .setLong("qaSessionId", qaSession.getUid().longValue()) + .list(); + return list; + } + public QaQueUsr loadQaQueUsrById(long qaQueUsrId) { return getQaQueUsrById(qaQueUsrId); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java =================================================================== diff -u -rf2b7c28c53bfee9c676b5a836e42b71e0e1bf20f -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision f2b7c28c53bfee9c676b5a836e42b71e0e1bf20f) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -21,10 +21,13 @@ * ***********************************************************************/ package org.lamsfoundation.lams.tool.qa.dao.hibernate; +import java.util.List; + import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaUsrResp; import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO; +import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -35,6 +38,7 @@ */ public class QaUsrRespDAO extends HibernateDaoSupport implements IQaUsrRespDAO { + private static final String LOAD_ATTEMPT_FOR_USER_AND_QUESTION_CONTENT = "from qaUsrResp in class QaUsrResp where qaUsrResp.queUsrId=:queUsrId and qaUsrResp.qaQueContentId=:qaQueContentId"; public QaQueUsr getUserById(long userId) { @@ -78,6 +82,16 @@ this.getHibernateTemplate().delete(resp); } + public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId) + { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_ATTEMPT_FOR_USER_AND_QUESTION_CONTENT) + .setLong("queUsrId", queUsrId.longValue()) + .setLong("qaQueContentId", qaQueContentId.longValue()) + .list(); + + return list; + } public void removeUserResponseByQaQueId(Long qaQueId) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -79,6 +79,8 @@ public QaQueContent retrieveQaQue(long qaQueContentId); public QaQueUsr loadQaQueUsr(Long userId); + + public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); public void createQaQue(QaQueContent qaQueContent); @@ -142,6 +144,8 @@ public User getCurrentUserData(String username); + public List getUserBySessionOnly(final QaSession qaSession); + /** * * copyToolContent(Long fromContentId, Long toContentId) Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -321,10 +321,38 @@ + e.getMessage(), e); } - } + public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId) throws QaApplicationException + { + try + { + return qaUsrRespDAO.getAttemptsForUserAndQuestionContent(queUsrId, qaQueContentId); + } + catch (DataAccessException e) + { + throw new QaApplicationException("Exception occured when lams is getting qa qaUsrRespDAO by user id and que content id: " + + e.getMessage(), + e); + } + } + + public List getUserBySessionOnly(final QaSession qaSession) throws QaApplicationException + { + try + { + return qaQueUsrDAO.getUserBySessionOnly(qaSession); + } + catch (DataAccessException e) + { + throw new QaApplicationException("Exception occured when lams is getting qa QueUsr by qa session " + + e.getMessage(), + e); + } + } + + public void createQaUsrResp(QaUsrResp qaUsrResp) throws QaApplicationException { try Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java =================================================================== diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -25,16 +25,19 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.TreeMap; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionForm; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaMonitoredAnswersDTO; +import org.lamsfoundation.lams.tool.qa.QaMonitoredUserDTO; import org.lamsfoundation.lams.tool.qa.QaQueContent; +import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaSession; +import org.lamsfoundation.lams.tool.qa.QaStringComparator; import org.lamsfoundation.lams.tool.qa.QaUsrResp; import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; @@ -252,15 +255,149 @@ qaMonitoredAnswersDTO.setQuestionUid(qaQueContent.getUid().toString()); qaMonitoredAnswersDTO.setQuestion(qaQueContent.getQuestion()); - //Map questionAttemptData= buildGroupsAttemptData(request, qaContent, qaQueContent, qaQueContent.getUid().toString()); - //logger.debug("questionAttemptData:..." + questionAttemptData); - //qaMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData); + Map questionAttemptData= buildGroupsAttemptData(request, qaContent, qaQueContent, qaQueContent.getUid().toString()); + logger.debug("questionAttemptData:..." + questionAttemptData); + qaMonitoredAnswersDTO.setQuestionAttempts(questionAttemptData); listMonitoredAnswersContainerDTO.add(qaMonitoredAnswersDTO); } } logger.debug("final listMonitoredAnswersContainerDTO:..." + listMonitoredAnswersContainerDTO); return listMonitoredAnswersContainerDTO; } + + + public static Map buildGroupsAttemptData(HttpServletRequest request, QaContent qaContent, QaQueContent qaQueContent, String questionUid) + { + logger.debug("doing buildGroupsAttemptData..."); + IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("qaService: " + qaService); + + Map mapMonitoredAttemptsContainerDTO= new TreeMap(new QaStringComparator()); + List listMonitoredAttemptsContainerDTO= new LinkedList(); + + Map summaryToolSessions=populateToolSessionsId(request, qaContent, qaService); + logger.debug("summaryToolSessions: " + summaryToolSessions); + + Iterator itMap = summaryToolSessions.entrySet().iterator(); + while (itMap.hasNext()) + { + Map.Entry pairs = (Map.Entry)itMap.next(); + logger.debug("using the summary tool sessions pair: " + pairs.getKey() + " = " + pairs.getValue()); + + if (!(pairs.getValue().toString().equals("None")) && !(pairs.getValue().toString().equals("All"))) + { + logger.debug("using the numerical summary tool sessions pair: " + " = " + pairs.getValue()); + QaSession qaSession= qaService.retrieveQaSession(new Long(pairs.getValue().toString()).longValue()); + logger.debug("qaSession: " + " = " + qaSession); + if (qaSession != null) + { + List listUsers=qaService.getUserBySessionOnly(qaSession); + logger.debug("listMcUsers for session id:" + qaSession.getQaSessionId() + " = " + listUsers); + Map sessionUsersAttempts=populateSessionUsersAttempts(request,qaSession.getQaSessionId(), listUsers, questionUid); + listMonitoredAttemptsContainerDTO.add(sessionUsersAttempts); + } + } + } + + logger.debug("final listMonitoredAttemptsContainerDTO:..." + listMonitoredAttemptsContainerDTO); + mapMonitoredAttemptsContainerDTO=convertToMap(listMonitoredAttemptsContainerDTO); + logger.debug("final mapMonitoredAttemptsContainerDTO:..." + mapMonitoredAttemptsContainerDTO); + return mapMonitoredAttemptsContainerDTO; + } + + + /** + * ends up populating all the user's attempt data of a particular tool session + * populateSessionUsersAttempts(HttpServletRequest request,List listUsers) + * + * @param request + * @param listUsers + * @return List + */ + public static Map populateSessionUsersAttempts(HttpServletRequest request,Long sessionId, List listUsers, String questionUid) + { + logger.debug("doing populateSessionUsersAttempts..."); + IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("qaService: " + qaService); + + Map mapMonitoredUserContainerDTO= new TreeMap(new QaStringComparator()); + List listMonitoredUserContainerDTO= new LinkedList(); + + Iterator itUsers=listUsers.iterator(); + while (itUsers.hasNext()) + { + QaQueUsr qaQueUsr=(QaQueUsr)itUsers.next(); + logger.debug("qaQueUsr: " + qaQueUsr); + + if (qaQueUsr != null) + { + logger.debug("getting listUserAttempts for user id: " + qaQueUsr.getUid() + " and que content id: " + questionUid); + List listUserAttempts=qaService.getAttemptsForUserAndQuestionContent(qaQueUsr.getUid(), new Long(questionUid)); + logger.debug("listUserAttempts: " + listUserAttempts); + + Iterator itAttempts=listUserAttempts.iterator(); + while (itAttempts.hasNext()) + { + QaUsrResp qaUsrResp=(QaUsrResp)itAttempts.next(); + logger.debug("qaUsrResp: " + qaUsrResp); + + if (qaUsrResp != null) + { + QaMonitoredUserDTO qaMonitoredUserDTO = new QaMonitoredUserDTO(); + qaMonitoredUserDTO.setAttemptTime(qaUsrResp.getAttemptTime().toString()); + qaMonitoredUserDTO.setTimeZone(qaUsrResp.getTimezone()); + qaMonitoredUserDTO.setUid(qaUsrResp.getResponseId().toString()); + qaMonitoredUserDTO.setUserName(qaQueUsr.getUsername()); + qaMonitoredUserDTO.setQueUsrId(qaQueUsr.getUid().toString()); + qaMonitoredUserDTO.setSessionId(sessionId.toString()); + qaMonitoredUserDTO.setResponse(qaUsrResp.getAnswer()); + qaMonitoredUserDTO.setQuestionUid(questionUid); + listMonitoredUserContainerDTO.add(qaMonitoredUserDTO); + } + } + } + } + logger.debug("final listMonitoredUserContainerDTO: " + listMonitoredUserContainerDTO); + mapMonitoredUserContainerDTO=convertToMcMonitoredUserDTOMap(listMonitoredUserContainerDTO); + logger.debug("final mapMonitoredUserContainerDTO:..." + mapMonitoredUserContainerDTO); + return mapMonitoredUserContainerDTO; + } + + public static Map convertToMcMonitoredUserDTOMap(List list) + { + logger.debug("using convertToQaMonitoredUserDTOMap: " + list); + Map map= new TreeMap(new QaStringComparator()); + + Iterator listIterator=list.iterator(); + Long mapIndex=new Long(1); + + while (listIterator.hasNext()) + { + QaMonitoredUserDTO data=(QaMonitoredUserDTO)listIterator.next(); + map.put(mapIndex.toString(), data); + mapIndex=new Long(mapIndex.longValue()+1); + } + return map; + } + + + public static Map convertToMap(List list) + { + logger.debug("using convertToMap: " + list); + Map map= new TreeMap(new QaStringComparator()); + + Iterator listIterator=list.iterator(); + Long mapIndex=new Long(1); + + while (listIterator.hasNext()) + { + Map data=(Map)listIterator.next(); + map.put(mapIndex.toString(), data); + mapIndex=new Long(mapIndex.longValue()+1); + } + return map; + } } + Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java =================================================================== diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -26,6 +26,7 @@ package org.lamsfoundation.lams.tool.qa.web; import java.io.IOException; +import java.util.List; import java.util.Map; import javax.servlet.ServletException; @@ -42,6 +43,7 @@ import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaContent; +import org.lamsfoundation.lams.tool.qa.QaUsrResp; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -84,6 +86,7 @@ ServletException { logger.debug("dispatching getStats..." + request); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); request.getSession().setAttribute(CURRENT_MONITORING_TAB, "stats"); return (mapping.findForward(LOAD_MONITORING)); @@ -113,6 +116,7 @@ ServletException { logger.debug("dispatching getInstructions..." + request); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); request.getSession().setAttribute(CURRENT_MONITORING_TAB, "instructions"); return (mapping.findForward(LOAD_MONITORING)); @@ -142,6 +146,7 @@ ServletException { logger.debug("dispatching getSummary..." + request); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); logger.debug("qaService: " + qaService); @@ -192,6 +197,7 @@ ServletException { logger.debug("dispatching submitSession..."); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form; String currentMonitoredToolSession=qaMonitoringForm.getSelectedToolSessionId(); @@ -216,6 +222,105 @@ } + public ActionForward editResponse(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + { + logger.debug("dispatching editResponse..."); + + QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form; + + String responseId=qaMonitoringForm.getResponseId(); + logger.debug("responseId: " + responseId); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(true)); + request.getSession().setAttribute(EDITABLE_RESPONSE_ID, responseId); + + refreshUserInput(request); + + return (mapping.findForward(LOAD_MONITORING)); + } + + + public ActionForward updateResponse(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + { + logger.debug("dispatching updateResponse..."); + + IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("qaService: " + qaService); + + QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form; + + String responseId=qaMonitoringForm.getResponseId(); + logger.debug("responseId: " + responseId); + + String updatedResponse=request.getParameter("updatedResponse"); + logger.debug("updatedResponse: " + updatedResponse); + QaUsrResp qaUsrResp= qaService.retrieveQaUsrResp(new Long(responseId).longValue()); + logger.debug("qaUsrResp: " + qaUsrResp); + qaUsrResp.setAnswer(updatedResponse); + qaService.updateQaUsrResp(qaUsrResp); + logger.debug("response updated."); + + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); + + refreshUserInput(request); + return (mapping.findForward(LOAD_MONITORING)); + } + + + public ActionForward deleteResponse(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + { + logger.debug("dispatching deleteResponse..."); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); + + IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("qaService: " + qaService); + + QaMonitoringForm qaMonitoringForm = (QaMonitoringForm) form; + + String responseId=qaMonitoringForm.getResponseId(); + logger.debug("responseId: " + responseId); + + QaUsrResp qaUsrResp= qaService.retrieveQaUsrResp(new Long(responseId).longValue()); + logger.debug("qaUsrResp: " + qaUsrResp); + + qaService.removeUserResponse(qaUsrResp); + logger.debug("response deleted."); + + logger.debug("CURRENT_MONITORED_TOOL_SESSION: " + request.getSession().getAttribute(CURRENT_MONITORED_TOOL_SESSION)); + + refreshUserInput(request); + return (mapping.findForward(LOAD_MONITORING)); + } + + + public void refreshUserInput(HttpServletRequest request) + { + IQaService qaService = (IQaService)request.getSession().getAttribute(TOOL_SERVICE); + logger.debug("qaService: " + qaService); + + Long toolContentId =(Long) request.getSession().getAttribute(TOOL_CONTENT_ID); + logger.debug("toolContentId: " + toolContentId); + + QaContent qaContent=qaService.loadQa(toolContentId.longValue()); + logger.debug("existing qaContent:" + qaContent); + + List listMonitoredAnswersContainerDTO=MonitoringUtil.buildGroupsQuestionData(request, qaContent); + request.getSession().setAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO, listMonitoredAnswersContainerDTO); + logger.debug("LIST_MONITORED_ANSWERS_CONTAINER_DTO: " + request.getSession().getAttribute(LIST_MONITORED_ANSWERS_CONTAINER_DTO)); + } + + /** * persists error messages to request scope * persistError(HttpServletRequest request, String message) Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java =================================================================== diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -34,6 +34,8 @@ public class QaMonitoringForm extends ActionForm implements QaAppConstants { // controls which method is called by the Lookup map */ protected String method; + + protected String responseId; protected String selectedToolSessionId; @@ -76,4 +78,17 @@ public void setMethod(String method) { this.method = method; } + + /** + * @return Returns the responseId. + */ + public String getResponseId() { + return responseId; + } + /** + * @param responseId The responseId to set. + */ + public void setResponseId(String responseId) { + this.responseId = responseId; + } } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java =================================================================== diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -77,6 +77,7 @@ request.getSession().setAttribute(TOOL_SERVICE, qaService); request.getSession().setAttribute(CURRENT_MONITORING_TAB, "summary"); + request.getSession().setAttribute(EDIT_RESPONSE, new Boolean(false)); /* * persist time zone information to session scope. Index: lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp =================================================================== diff -u -rf81218072afa2e0748b1223fbed3b5b4d0018c87 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision f81218072afa2e0748b1223fbed3b5b4d0018c87) +++ lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -62,6 +62,12 @@ submitMethod(actionMethod); } + function submitEditResponse(responseId, actionMethod) + { + document.QaMonitoringForm.responseId.value=responseId; + submitMethod(actionMethod); + } + function submitMethod(actionMethod) { submitMonitoringMethod(actionMethod); Index: lams_tool_laqa/web/monitoring/SummaryContent.jsp =================================================================== diff -u -reb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0 -r4beb496ffd830646c5752e770f04ca60e56ef231 --- lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision eb6742a9f559f4ca57ebf90f1e1d10bb6a6d3ed0) +++ lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -30,6 +30,12 @@ + + + + + +

@@ -100,9 +106,23 @@ - + + + + - + + + + + + + + + + + + Index: lams_tool_laqa/web/monitoring/UserResponses.jsp =================================================================== diff -u --- lams_tool_laqa/web/monitoring/UserResponses.jsp (revision 0) +++ lams_tool_laqa/web/monitoring/UserResponses.jsp (revision 4beb496ffd830646c5752e770f04ca60e56ef231) @@ -0,0 +1,60 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +USA + +http://www.gnu.org/licenses/gpl.txt +--%> + +<%@ taglib uri="tags-bean" prefix="bean"%> +<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="tags-logic" prefix="logic" %> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="fck-editor" prefix="FCK" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + + + + + + + + + + + images/edit.gif" align=left onclick="javascript:submitEditResponse('','editResponse');"> + images/delete.gif" align=left onclick="javascript:submitEditResponse('','deleteResponse');"> + + + + + + + + images/tick.gif" align=left onclick="javascript:submitEditResponse('','updateResponse');"> + images/delete.gif" align=left onclick="javascript:submitEditResponse('','deleteResponse');"> + + + + + + + images/edit.gif" align=left onclick="javascript:submitEditResponse('','editResponse');"> + images/delete.gif" align=left onclick="javascript:submitEditResponse('','deleteResponse');"> + + +