Index: lams_tool_doku/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -re2f52f574599806a41fe8864002496eaf73ff722 -rb7b939abee8b76394e515ad32a6d3096ac501639 --- lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision e2f52f574599806a41fe8864002496eaf73ff722) +++ lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b7b939abee8b76394e515ad32a6d3096ac501639) @@ -123,6 +123,9 @@ label.attendance = Attendance label.time.limit.tooltip = Number of minutes that each student will get from the moment they enter this activity. Leave it at 0 for no time restrictions. label.monitoring.learner.marks.name = Name +label.monitoring.learner.marks.copy.1 = Give all +label.monitoring.learner.marks.copy.2 = marks +label.monitoring.learner.marks.copy.tooltip = Give every learner in this group the same mark label.show.chat.tooltip = Enables the chat feature allowing students to exchange messages while working on the document simultaneously. monitoring.summary.gallery.walk.learner.edit = Let learners modify answers monitoring.summary.gallery.walk.learner.edit.confirm = Are you sure you want allows students to modify their answers while performing the Gallery Walk? @@ -139,5 +142,4 @@ label.sorry.the.deadline.has.passed = Sorry, the deadline to participate in this activity has passed. Please contact your teacher for further details. monitor.summary.notification = Notification monitor.summary.date.restriction.set = Date availability has been set -monitor.summary.date.restriction.removed = Date availability has been removed - +monitor.summary.date.restriction.removed = Date availability has been removed \ No newline at end of file Index: lams_tool_doku/lams_tool_doku.eml =================================================================== diff -u -r21c7529af602718ef4a963e75e902c964f986831 -rb7b939abee8b76394e515ad32a6d3096ac501639 --- lams_tool_doku/lams_tool_doku.eml (.../lams_tool_doku.eml) (revision 21c7529af602718ef4a963e75e902c964f986831) +++ lams_tool_doku/lams_tool_doku.eml (.../lams_tool_doku.eml) (revision b7b939abee8b76394e515ad32a6d3096ac501639) @@ -1,26 +1,36 @@ - + + + + + + + + + + + Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java =================================================================== diff -u -red85f2d4ac12f80bb4d3ce705359453887175ef8 -rb7b939abee8b76394e515ad32a6d3096ac501639 --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision ed85f2d4ac12f80bb4d3ce705359453887175ef8) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision b7b939abee8b76394e515ad32a6d3096ac501639) @@ -23,28 +23,9 @@ package org.lamsfoundation.lams.tool.dokumaran.web.controller; -import java.io.IOException; -import java.io.PrintWriter; -import java.security.InvalidParameterException; -import java.time.LocalDateTime; -import java.time.OffsetDateTime; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TimeZone; -import java.util.TreeMap; -import java.util.TreeSet; -import java.util.stream.Collectors; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.etherpad.EtherpadException; @@ -65,11 +46,7 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.Configuration; -import org.lamsfoundation.lams.util.ConfigurationKeys; -import org.lamsfoundation.lams.util.DateUtil; -import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.util.*; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; @@ -78,15 +55,19 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.*; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.JsonNodeFactory; -import com.fasterxml.jackson.databind.node.ObjectNode; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.io.PrintWriter; +import java.security.InvalidParameterException; +import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.util.*; +import java.util.stream.Collectors; @Controller @RequestMapping("/monitoring") @@ -208,10 +189,12 @@ // identify sorting type int sorting = LEARNER_MARKS_SORTING_FIRST_NAME_ASC; if (isSortFirstName != null) { - sorting = isSortFirstName.equals(1) ? LEARNER_MARKS_SORTING_FIRST_NAME_DESC + sorting = isSortFirstName.equals(1) + ? LEARNER_MARKS_SORTING_FIRST_NAME_DESC : LEARNER_MARKS_SORTING_FIRST_NAME_ASC; } else if (isSortLastName != null) { - sorting = isSortLastName.equals(1) ? LEARNER_MARKS_SORTING_LAST_NAME_DESC + sorting = isSortLastName.equals(1) + ? LEARNER_MARKS_SORTING_LAST_NAME_DESC : LEARNER_MARKS_SORTING_LAST_NAME_ASC; } @@ -236,9 +219,8 @@ responsedata.put("total_rows", users.size()); ToolSession toolSession = toolService.getToolSessionById(toolSessionId); - Map gradebookUserActivities = gradebookService - .getGradebookUserActivities(toolSession.getToolActivity().getActivityId()).stream() - .filter(g -> g.getMark() != null) + Map gradebookUserActivities = gradebookService.getGradebookUserActivities( + toolSession.getToolActivity().getActivityId()).stream().filter(g -> g.getMark() != null) .collect(Collectors.toMap(g -> g.getLearner().getUserId(), GradebookUserActivity::getMark)); DokumaranUser leader = users.get(0).getSession().getGroupLeader(); @@ -262,6 +244,7 @@ } @RequestMapping(path = "/updateLearnerMark", method = RequestMethod.POST) + @ResponseBody private void updateLearnerMark(@RequestParam long toolSessionId, @RequestParam int userId, @RequestParam Double mark) { ToolSession toolSession = toolService.getToolSessionById(toolSessionId); @@ -368,7 +351,8 @@ Dokumaran dokumaran = dokumaranService.getDokumaranByContentId(toolContentId); dokumaran.setRelativeTimeLimit(relativeTimeLimit); // set time limit as seconds from start of epoch, using current server time zone - dokumaran.setAbsoluteTimeLimit(absoluteTimeLimit == null ? null + dokumaran.setAbsoluteTimeLimit(absoluteTimeLimit == null + ? null : LocalDateTime.ofEpochSecond(absoluteTimeLimit, 0, OffsetDateTime.now().getOffset())); dokumaranService.saveOrUpdate(dokumaran); } @@ -389,8 +373,8 @@ if (grouping != null) { Set groups = grouping.getGroups(); for (Group group : groups) { - if (!group.getUsers().isEmpty() - && group.getGroupName().toLowerCase().contains(searchString.toLowerCase())) { + if (!group.getUsers().isEmpty() && group.getGroupName().toLowerCase() + .contains(searchString.toLowerCase())) { ObjectNode groupJSON = JsonNodeFactory.instance.objectNode(); groupJSON.put("label", groupLabel + group.getGroupName() + "\""); groupJSON.put("value", "group-" + group.getGroupId()); @@ -535,4 +519,4 @@ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); return user != null ? user.getUserID() : null; } -} +} \ No newline at end of file Index: lams_tool_doku/web/pages/monitoring/summary.jsp =================================================================== diff -u -re2f52f574599806a41fe8864002496eaf73ff722 -rb7b939abee8b76394e515ad32a6d3096ac501639 --- lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision e2f52f574599806a41fe8864002496eaf73ff722) +++ lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision b7b939abee8b76394e515ad32a6d3096ac501639) @@ -6,31 +6,31 @@ monitoring/timeLimit.jsp - - - - - + + + + + - + <%@ page import="org.lamsfoundation.lams.tool.dokumaran.DokumaranConstants"%> - + - - - - + + + + - +