Index: lams_tool_scratchie/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r537b1cb3333b17ffb5b53577dc3b610a2ab0f085 -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 537b1cb3333b17ffb5b53577dc3b610a2ab0f085) +++ lams_tool_scratchie/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -199,10 +199,14 @@ parameter="refreshQuestionList" > - + parameter="isAnswerCorrect" > + + Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20130912.sql =================================================================== diff -u -raab18261022d7746e10b3651bd3c864356c58a8b -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20130912.sql (.../patch20130912.sql) (revision aab18261022d7746e10b3651bd3c864356c58a8b) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20130912.sql (.../patch20130912.sql) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -3,7 +3,7 @@ ----------------------Put all sql statements below here------------------------- --- LDEV-xxx(LDEV-3110) Ability to modify marks in monitor +-- LKC-28 Ability to modify marks in monitor ALTER TABLE tl_lascrt11_user ADD COLUMN mark INTEGER DEFAULT 0; ----------------------Put all sql statements above here------------------------- Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml =================================================================== diff -u -r7ca2ecb923f530394e8f5a4109216cbc0dd975dd -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml (.../scratchieApplicationContext.xml) (revision 7ca2ecb923f530394e8f5a4109216cbc0dd975dd) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml (.../scratchieApplicationContext.xml) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -121,11 +121,13 @@ PROPAGATION_SUPPORTS,readOnly PROPAGATION_SUPPORTS,readOnly + PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception + PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== diff -u -r7ca2ecb923f530394e8f5a4109216cbc0dd975dd -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 7ca2ecb923f530394e8f5a4109216cbc0dd975dd) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -214,7 +214,7 @@ * Leader has scratched the specified answer. Will store this scratch for all users in his group. It will also * update all the marks. */ - void logAnswerAccess(ScratchieUser leader, Long scratchieItemUid); + void recordItemScratched(ScratchieUser leader, Long scratchieItemUid); void recalculateMarkForSession(ScratchieUser leader, boolean isPropagateToGradebook); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -r7ca2ecb923f530394e8f5a4109216cbc0dd975dd -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 7ca2ecb923f530394e8f5a4109216cbc0dd975dd) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -454,9 +454,12 @@ } @Override - public void logAnswerAccess(ScratchieUser leader, Long answerUid) { + public void recordItemScratched(ScratchieUser leader, Long answerUid) { ScratchieAnswer answer = this.getScratchieAnswerByUid(answerUid); + if (answer == null) { + return; + } Long sessionId = leader.getSession().getSessionId(); List users = this.getUsersBySession(sessionId); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java =================================================================== diff -u -r7ca2ecb923f530394e8f5a4109216cbc0dd975dd -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision 7ca2ecb923f530394e8f5a4109216cbc0dd975dd) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -91,9 +91,12 @@ if (param.equals("refreshQuestionList")) { return refreshQuestionList(mapping, form, request, response); } - if (param.equals("scratchItem")) { - return scratchItem(mapping, form, request, response); + if (param.equals("isAnswerCorrect")) { + return isAnswerCorrect(mapping, form, request, response); } + if (param.equals("recordItemScratched")) { + return recordItemScratched(mapping, form, request, response); + } if (param.equals("finish")) { return finish(mapping, form, request, response); } @@ -295,19 +298,32 @@ return mapping.findForward(ScratchieConstants.SUCCESS); } + + /** + * Return whether scratchie answer is correct or not + */ + private ActionForward isAnswerCorrect(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws JSONException, IOException { + initializeScratchieService(); + + Long answerUid = NumberUtils.createLong(request.getParameter(ScratchieConstants.PARAM_ANSWER_UID)); + ScratchieAnswer answer = service.getScratchieAnswerByUid(answerUid); + if (answer == null) { + return mapping.findForward(ScratchieConstants.ERROR); + } + + JSONObject JSONObject = new JSONObject(); + JSONObject.put(ScratchieConstants.ATTR_ANSWER_CORRECT, answer.isCorrect()); + response.setContentType("application/x-json;charset=utf-8"); + response.getWriter().print(JSONObject); + return null; + } + /** - * Scratch specified answer. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - * @throws JSONException - * @throws IOException + * Record in DB that leader has scratched specified answer. */ - private ActionForward scratchItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, + private ActionForward recordItemScratched(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws JSONException, IOException { initializeScratchieService(); @@ -323,19 +339,9 @@ } Long answerUid = NumberUtils.createLong(request.getParameter(ScratchieConstants.PARAM_ANSWER_UID)); - ScratchieAnswer answer = service.getScratchieAnswerByUid(answerUid); - if (answer == null) { - return mapping.findForward(ScratchieConstants.ERROR); - } - - service.logAnswerAccess(leader, answer.getUid()); - - JSONObject JSONObject = new JSONObject(); - JSONObject.put(ScratchieConstants.ATTR_ANSWER_CORRECT, answer.isCorrect()); - response.setContentType("application/x-json;charset=utf-8"); - response.getWriter().print(JSONObject); + service.recordItemScratched(leader, answerUid); + return null; - } /** Index: lams_tool_scratchie/web/pages/learning/learning.jsp =================================================================== diff -u -r537b1cb3333b17ffb5b53577dc3b610a2ab0f085 -r0f1d0cc4e194182f9384119b42101bfa18a18085 --- lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 537b1cb3333b17ffb5b53577dc3b610a2ab0f085) +++ lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 0f1d0cc4e194182f9384119b42101bfa18a18085) @@ -31,9 +31,8 @@ var id = '-' + itemUid + '-' + answerUid; $.ajax({ - async: false, - url: '', - data: 'sessionMapID=${sessionMapID}&answerUid=' + answerUid, + url: '', + data: 'answerUid=' + answerUid, dataType: 'json', type: 'post', success: function (json) { @@ -55,6 +54,13 @@ } } }); + + $.ajax({ + url: '', + data: 'sessionMapID=${sessionMapID}&answerUid=' + answerUid, + dataType: 'json', + type: 'post' + }); } function finish(){