Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -25,9 +25,11 @@ import java.util.List; +import org.apache.poi.ss.formula.functions.Rate; import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaUsrResp; +import org.lamsfoundation.lams.tool.qa.ResponseRating; import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -43,7 +45,11 @@ private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT = "from qaUsrResp in class QaUsrResp " + "where qaUsrResp.qaQueUser.qaSession.qaSessionId=:qaSessionId AND qaUsrResp.qaQuestion.uid=:questionId AND qaUsrResp.qaQueUser.queUsrId!=:excludeUserId order by "; - + + private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_ORDER_BY_AVG_RATING = "SELECT resp FROM " + + " ResponseRating as rating RIGHT JOIN rating.response as resp " + + " WHERE resp.qaQueUser.qaSession.qaSessionId=:qaSessionId AND resp.qaQuestion.uid=:questionId AND resp.qaQueUser.queUsrId!=:excludeUserId GROUP BY resp.responseId ORDER BY AVG(rating.rating) "; + private static final String LOAD_ATTEMPT_FOR_USER = "from qaUsrResp in class QaUsrResp " + "where qaUsrResp.qaQueUser.uid=:userUid order by qaUsrResp.qaQuestion.displayOrder asc"; @@ -108,16 +114,30 @@ sortingOrder = "answer DESC"; break; case QaAppConstants.SORT_BY_AVG_RATING_ASC: - sortingOrder = "NULL"; + sortingOrder = "ASC"; break; case QaAppConstants.SORT_BY_AVG_RATING_DESC: - sortingOrder = "NULL"; + sortingOrder = "DESC"; break; } + + if (sorting == QaAppConstants.SORT_BY_AVG_RATING_ASC || sorting == QaAppConstants.SORT_BY_AVG_RATING_DESC) { - return getSession().createQuery(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT + sortingOrder) - .setLong("qaSessionId", qaSessionId.longValue()).setLong("questionId", questionId.longValue()).setLong("excludeUserId", excludeUserId.longValue()) - .setFirstResult(page * size).setMaxResults(size).list(); + List list = getSession().createQuery(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_ORDER_BY_AVG_RATING + sortingOrder) + .setLong("qaSessionId", qaSessionId.longValue()).setLong("questionId", questionId.longValue()) + .setLong("excludeUserId", excludeUserId.longValue()).setFirstResult(page * size) + .setMaxResults(size).list(); + + return list; + + } else { + return getSession().createQuery(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT + sortingOrder) + .setLong("qaSessionId", qaSessionId.longValue()).setLong("questionId", questionId.longValue()) + .setLong("excludeUserId", excludeUserId.longValue()).setFirstResult(page * size) + .setMaxResults(size).list(); + } + + } @Override Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java (.../QaLearningAction.java) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java (.../QaLearningAction.java) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -1003,16 +1003,16 @@ int size = WebUtil.readIntParam(request, "size"); int page = WebUtil.readIntParam(request, "page"); Integer isSort1 = WebUtil.readIntParam(request, "column[0]", true); - Integer isSort2 = WebUtil.readIntParam(request, "column1]", true); + Integer isSort2 = WebUtil.readIntParam(request, "column[1]", true); int sorting = QaAppConstants.SORT_BY_NO; if (isSort1 != null && isSort1.equals(0)) { sorting = QaAppConstants.SORT_BY_ANSWER_ASC; } else if (isSort1 != null && isSort1.equals(1)) { sorting = QaAppConstants.SORT_BY_ANSWER_DESC; - } else if (isSort2 != null && isSort1.equals(0)) { + } else if (isSort2 != null && isSort2.equals(0)) { sorting = QaAppConstants.SORT_BY_AVG_RATING_ASC; - } else if (isSort2 != null && isSort1.equals(1)) { + } else if (isSort2 != null && isSort2.equals(1)) { sorting = QaAppConstants.SORT_BY_AVG_RATING_DESC; } Index: lams_tool_laqa/web/learning/LearnerRep.jsp =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -48,8 +48,7 @@ $(".tablesorter").tablesorter({ theme: 'blue', widthFixed: true, - widgets: ['zebra'], - headers : { 1 : { sorter: false } } + widgets: ['zebra'] }); $(".tablesorter").each(function() { Index: lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -49,8 +49,7 @@ $(".tablesorter").tablesorter({ theme: 'blue', widthFixed: true, - widgets: ['zebra'], - headers : { 1 : { sorter: false } } + widgets: ['zebra'] }); $(".tablesorter").each(function() { Index: lams_tool_laqa/web/learning/mobile/LearnerRep.jsp =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/web/learning/mobile/LearnerRep.jsp (.../LearnerRep.jsp) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/web/learning/mobile/LearnerRep.jsp (.../LearnerRep.jsp) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -50,8 +50,7 @@ $(".tablesorter").tablesorter({ theme: 'blue', widthFixed: true, - widgets: ['zebra'], - headers : { 1 : { sorter: false } } + widgets: ['zebra'] }); $(".tablesorter").each(function() { Index: lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp =================================================================== diff -u -refbaf6ddcc506fed7b594bc9b663b81a03b1283f -raa23416ad623b838b1bc6b1a425ff3da67550240 --- lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision efbaf6ddcc506fed7b594bc9b663b81a03b1283f) +++ lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision aa23416ad623b838b1bc6b1a425ff3da67550240) @@ -51,8 +51,7 @@ $(".tablesorter").tablesorter({ theme: 'blue', widthFixed: true, - widgets: ['zebra'], - headers : { 1 : { sorter: false } } + widgets: ['zebra'] }); $(".tablesorter").each(function() {