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(){