Index: lams_gradebook/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r723b5bcbdf0db6b9a4fbeacdc55f7336992ac935 -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 723b5bcbdf0db6b9a4fbeacdc55f7336992ac935) +++ lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -105,4 +105,8 @@ gradebook.export.excel =Export grades label.select.lessons.to.export =Select lessons to export label.simplified.export=Simplified Export (only scores) +label.marks=Marks +label.number.learners.in.mark.range=Number of Learners in Mark Range +label.show.marks.chart=Show marks chart +label.hide.marks.chart=Hide marks chart #======= End labels: Exported 98 labels for en AU ===== Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -1989,6 +1989,11 @@ return map; } + + @Override + public List getMarksArray(Long lessonId) { + return gradebookDAO.getAllMarksForLesson(lessonId); + } private ICoreLearnerService getLearnerService() { if (GradebookService.learnerService == null) { Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java =================================================================== diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -310,4 +310,13 @@ */ LinkedHashMap exportSelectedLessonsGradebook(Integer userId, Integer organisationId, String[] lessonIds, boolean simplified); + + /** + * Get the raw overall marks for a lesson for charting purposes + * @param lessonId + * @return + */ + List getMarksArray(Long lessonId); + + } \ No newline at end of file Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java =================================================================== diff -u -r723b5bcbdf0db6b9a4fbeacdc55f7336992ac935 -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java (.../GradebookMonitoringAction.java) (revision 723b5bcbdf0db6b9a4fbeacdc55f7336992ac935) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java (.../GradebookMonitoringAction.java) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -23,9 +23,12 @@ package org.lamsfoundation.lams.gradebook.web.action; +import java.io.IOException; import java.util.Arrays; import java.util.LinkedHashMap; +import java.util.List; +import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -36,6 +39,8 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.apache.tomcat.util.json.JSONException; +import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.gradebook.service.IGradebookService; import org.lamsfoundation.lams.gradebook.util.GBGridView; import org.lamsfoundation.lams.gradebook.util.GradebookConstants; @@ -99,6 +104,8 @@ LessonDetailsDTO lessonDetatilsDTO = lesson.getLessonDetails(); request.setAttribute("lessonDetails", lessonDetatilsDTO); request.setAttribute("marksReleased", marksReleased); + + request.setAttribute("isInTabs", WebUtil.readBooleanParam(request, "isInTabs", false)); return mapping.findForward("monitorgradebook"); } catch (Exception e) { @@ -394,7 +401,34 @@ return null; } + + /** + * Get the raw marks for display in a histogram. + */ + public ActionForward getMarkChartData(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException, JSONException { + Long lessonID = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); + if (!getSecurityService().isLessonMonitor(lessonID, getUser().getUserID(), + "export lesson gradebook spreadsheet", false)) { + response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not a monitor in the lesson"); + return null; + } + + List results = getGradebookService().getMarksArray(lessonID); + + JSONObject responseJSON = new JSONObject(); + if ( results != null ) + responseJSON.put("data", results); + else + responseJSON.put("data", new Float[0]); + + response.setContentType("application/json;charset=utf-8"); + response.getWriter().write(responseJSON.toString()); + return null; + + } + private UserDTO getUser() { HttpSession ss = SessionManager.getSession(); return (UserDTO) ss.getAttribute(AttributeNames.USER); Index: lams_gradebook/web/gradebookCourseMonitor.jsp =================================================================== diff -u -rc1630d5b45d03e6645e507529212d3ea63493f1d -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/web/gradebookCourseMonitor.jsp (.../gradebookCourseMonitor.jsp) (revision c1630d5b45d03e6645e507529212d3ea63493f1d) +++ lams_gradebook/web/gradebookCourseMonitor.jsp (.../gradebookCourseMonitor.jsp) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -37,11 +37,11 @@ grid.jqGrid('hideCol','startDate'); grid.jqGrid('hideCol','finishDate'); document.getElementById("datesShown").style.display="none"; - document.getElementById("datesNotShown").style.display="block"; + document.getElementById("datesNotShown").style.display="inline"; } else { grid.jqGrid('showCol','startDate'); grid.jqGrid('showCol','finishDate'); - document.getElementById("datesShown").style.display="block"; + document.getElementById("datesShown").style.display="inline"; document.getElementById("datesNotShown").style.display="none"; } resizeJqgrid(grid); @@ -436,45 +436,54 @@ - - - -

- - - -
- - - -
- + + + + + + + +
+ +
+ + + + + + +
+
" id="export-selected-lessons-button" />
- -
-
+
- -
Index: lams_gradebook/web/gradebookMonitor.jsp =================================================================== diff -u -rc1630d5b45d03e6645e507529212d3ea63493f1d -r2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476 --- lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision c1630d5b45d03e6645e507529212d3ea63493f1d) +++ lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 2fc9dd8b82fc3c3a2363cbc13e60eaba86e6a476) @@ -11,17 +11,42 @@ <fmt:message key="gradebook.title.window.lessonMonitor"/> - + + + - + + + +