Index: lams_build/lib/lams/lams-learning.jar
===================================================================
diff -u -r8f4be61ce9ac48ffc767138df8932b7f70427cdd -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
Binary files differ
Index: lams_learning/.classpath
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/.classpath (.../.classpath) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/.classpath (.../.classpath) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -2,7 +2,6 @@
-
@@ -29,5 +28,6 @@
+
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveAction.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveController.java
===================================================================
diff -u
--- lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveController.java (revision 0)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/kumalive/KumaliveController.java (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -0,0 +1,331 @@
+package org.lamsfoundation.lams.learning.kumalive;
+
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.gradebook.util.GradebookConstants;
+import org.lamsfoundation.lams.learning.kumalive.model.Kumalive;
+import org.lamsfoundation.lams.learning.kumalive.model.KumaliveRubric;
+import org.lamsfoundation.lams.learning.kumalive.service.IKumaliveService;
+import org.lamsfoundation.lams.security.ISecurityService;
+import org.lamsfoundation.lams.usermanagement.Organisation;
+import org.lamsfoundation.lams.usermanagement.Role;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+import org.lamsfoundation.lams.util.Configuration;
+import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.ExcelCell;
+import org.lamsfoundation.lams.util.ExcelUtil;
+import org.lamsfoundation.lams.util.FileUtil;
+import org.lamsfoundation.lams.util.JsonUtil;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.session.SessionManager;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+/**
+ * @author Marcin Cieslak
+ */
+@Controller
+@RequestMapping("/kumalive")
+public class KumaliveController {
+
+ private static Logger log = Logger.getLogger(KumaliveController.class);
+
+ private static IKumaliveService kumaliveService;
+ private static ISecurityService securityService;
+
+ @RequestMapping("/getRubrics")
+ public String getRubrics(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, false);
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisationId, currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get rubrics", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation " + organisationId;
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ List rubrics = KumaliveController.getKumaliveService().getRubrics(organisationId);
+ ArrayNode rubricsJSON = JsonNodeFactory.instance.arrayNode();
+ for (KumaliveRubric rubric : rubrics) {
+ rubricsJSON.add(rubric.getName());
+ }
+ request.setAttribute("rubrics", rubricsJSON);
+
+ return "kumalive/kumaliveRubrics";
+ }
+
+ @RequestMapping("/getReport")
+ public String getReport(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, false);
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisationId, currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get report", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation " + organisationId;
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ return "/kumalive/kumaliveReport";
+ }
+
+ @RequestMapping("/getReportOrganisationData")
+ @ResponseBody
+ public String getReportOrganisationData(HttpServletRequest request, HttpServletResponse response)
+ throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, false);
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisationId, currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get report organisation data", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation " + organisationId;
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ int page = WebUtil.readIntParam(request, GradebookConstants.PARAM_PAGE);
+ int rowLimit = WebUtil.readIntParam(request, GradebookConstants.PARAM_ROWS);
+ String sortOrder = WebUtil.readStrParam(request, GradebookConstants.PARAM_SORD);
+ String sortColumn = WebUtil.readStrParam(request, GradebookConstants.PARAM_SIDX, true);
+
+ ObjectNode resultJSON = KumaliveController.getKumaliveService().getReportOrganisationData(organisationId,
+ sortColumn, !"DESC".equalsIgnoreCase(sortOrder), rowLimit, page);
+ response.setContentType("text/xml;charset=utf-8");
+ return resultJSON.toString();
+ }
+
+ @RequestMapping("/getReportKumaliveRubrics")
+ @ResponseBody
+ public String getReportKumaliveRubrics(HttpServletRequest request, HttpServletResponse response)
+ throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Long kumaliveId = WebUtil.readLongParam(request, "kumaliveId", false);
+ Kumalive kumalive = KumaliveController.getKumaliveService().getKumalive(kumaliveId);
+ Organisation organisation = kumalive.getOrganisation();
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisation.getOrganisationId(), currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get report kumalive rubrics", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation "
+ + organisation.getOrganisationId();
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ ArrayNode responseJSON = JsonNodeFactory.instance.arrayNode();
+ for (KumaliveRubric rubric : kumalive.getRubrics()) {
+ ArrayNode rubricJSON = JsonNodeFactory.instance.arrayNode();
+ rubricJSON.add(rubric.getRubricId());
+ rubricJSON.add(rubric.getName() == null ? "" : rubric.getName());
+ responseJSON.add(rubricJSON);
+ }
+ response.setContentType("text/json;charset=utf-8");
+ return responseJSON.toString();
+ }
+
+ @RequestMapping("/getReportKumaliveData")
+ @ResponseBody
+ public String getReportKumaliveData(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Long kumaliveId = WebUtil.readLongParam(request, "kumaliveId", false);
+ Kumalive kumalive = KumaliveController.getKumaliveService().getKumalive(kumaliveId);
+ Organisation organisation = kumalive.getOrganisation();
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisation.getOrganisationId(), currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get report kumalive data", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation "
+ + organisation.getOrganisationId();
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ String sortOrder = WebUtil.readStrParam(request, GradebookConstants.PARAM_SORD);
+
+ ObjectNode responseJSON = KumaliveController.getKumaliveService().getReportKumaliveData(kumaliveId,
+ !"DESC".equalsIgnoreCase(sortOrder));
+ response.setContentType("text/json;charset=utf-8");
+ return responseJSON.toString();
+ }
+
+ @RequestMapping("/getReportUserData")
+ @ResponseBody
+ public String getReportUserData(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Long kumaliveId = WebUtil.readLongParam(request, "kumaliveId", false);
+ Integer userId = WebUtil.readIntParam(request, "userId", false);
+ Kumalive kumalive = KumaliveController.getKumaliveService().getKumalive(kumaliveId);
+ Organisation organisation = kumalive.getOrganisation();
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisation.getOrganisationId(), currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get report user data", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation "
+ + organisation.getOrganisationId();
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ return null;
+ }
+
+ ObjectNode responseJSON = KumaliveController.getKumaliveService().getReportUserData(kumaliveId, userId);
+ response.setContentType("text/json;charset=utf-8");
+ return responseJSON.toString();
+ }
+
+ @RequestMapping("/exportKumalives")
+ @ResponseBody
+ public void exportKumalives(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer currentUserId = userDTO.getUserID();
+ Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, true);
+ List kumaliveIds = null;
+ if (organisationId == null) {
+ String kumaliveIdsParam = WebUtil.readStrParam(request, "kumaliveIds", false);
+
+ ArrayNode kumaliveIdsJSON = JsonUtil.readArray(kumaliveIdsParam);
+ kumaliveIds = new LinkedList<>();
+ for (JsonNode kumaliveIdJSON : kumaliveIdsJSON) {
+ kumaliveIds.add(kumaliveIdJSON.asLong());
+ }
+
+ Kumalive kumalive = KumaliveController.getKumaliveService().getKumalive(kumaliveIds.get(0));
+ organisationId = kumalive.getOrganisation().getOrganisationId();
+ }
+
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisationId, currentUserId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive export", false)) {
+ String warning = "User " + currentUserId + " is not a monitor of organisation " + organisationId;
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ }
+
+ LinkedHashMap dataToExport = null;
+ if (kumaliveIds == null) {
+ dataToExport = KumaliveController.getKumaliveService().exportKumalives(organisationId);
+ } else {
+ dataToExport = KumaliveController.getKumaliveService().exportKumalives(kumaliveIds);
+ }
+ String fileName = "kumalive_report.xlsx";
+ fileName = FileUtil.encodeFilenameForDownload(request, fileName);
+
+ response.setContentType("application/x-download");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+
+ // set cookie that will tell JS script that export has been finished
+ String downloadTokenValue = WebUtil.readStrParam(request, "downloadTokenValue");
+ Cookie fileDownloadTokenCookie = new Cookie("fileDownloadToken", downloadTokenValue);
+ fileDownloadTokenCookie.setPath("/");
+ response.addCookie(fileDownloadTokenCookie);
+
+ ExcelUtil.createExcel(response.getOutputStream(), dataToExport, "Exported on:", true);
+
+ }
+
+ @RequestMapping("/saveRubrics")
+ @ResponseBody
+ public void saveRubrics(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ UserDTO userDTO = getUserDTO();
+ Integer userId = userDTO.getUserID();
+ Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, false);
+ if (!Configuration.getAsBoolean(ConfigurationKeys.ALLOW_KUMALIVE)) {
+ String warning = "Kumalives are disabled";
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ }
+ if (!KumaliveController.getSecurityService().hasOrgRole(organisationId, userId,
+ new String[] { Role.GROUP_MANAGER, Role.MONITOR }, "kumalive get rubrics", false)) {
+ String warning = "User " + userId + " is not a monitor of organisation " + organisationId;
+ log.warn(warning);
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, warning);
+ }
+
+ ArrayNode rubricsJSON = JsonUtil.readArray(WebUtil.readStrParam(request, "rubrics"));
+ KumaliveController.getKumaliveService().saveRubrics(organisationId, rubricsJSON);
+
+ }
+
+ private UserDTO getUserDTO() {
+ HttpSession ss = SessionManager.getSession();
+ return (UserDTO) ss.getAttribute(AttributeNames.USER);
+ }
+
+ private static IKumaliveService getKumaliveService() {
+ if (kumaliveService == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils
+ .getWebApplicationContext(SessionManager.getServletContext());
+ kumaliveService = (IKumaliveService) ctx.getBean("kumaliveService");
+ }
+ return kumaliveService;
+ }
+
+ private static ISecurityService getSecurityService() {
+ if (securityService == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils
+ .getRequiredWebApplicationContext(SessionManager.getServletContext());
+ securityService = (ISecurityService) ctx.getBean("securityService");
+ }
+ return securityService;
+ }
+}
\ No newline at end of file
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/ChooseActivityController.java
===================================================================
diff -u -r1704c05d7e844f968d3700990957ff05f3611ba5 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/ChooseActivityController.java (.../ChooseActivityController.java) (revision 1704c05d7e844f968d3700990957ff05f3611ba5)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/ChooseActivityController.java (.../ChooseActivityController.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -27,14 +27,14 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
-import org.apache.struts.util.TokenProcessor;
import org.lamsfoundation.lams.learning.service.ICoreLearnerService;
import org.lamsfoundation.lams.learning.web.form.ActivityForm;
import org.lamsfoundation.lams.learning.web.util.ActivityMapping;
import org.lamsfoundation.lams.learning.web.util.LearningWebUtil;
import org.lamsfoundation.lams.learningdesign.Activity;
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.lesson.Lesson;
+import org.lamsfoundation.lams.web.util.TokenProcessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/DisplayOptionsActivityController.java
===================================================================
diff -u -r1704c05d7e844f968d3700990957ff05f3611ba5 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/DisplayOptionsActivityController.java (.../DisplayOptionsActivityController.java) (revision 1704c05d7e844f968d3700990957ff05f3611ba5)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/DisplayOptionsActivityController.java (.../DisplayOptionsActivityController.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -32,7 +32,6 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
-import org.apache.struts.util.TokenProcessor;
import org.lamsfoundation.lams.learning.service.ICoreLearnerService;
import org.lamsfoundation.lams.learning.web.bean.ActivityURL;
import org.lamsfoundation.lams.learning.web.form.OptionsActivityForm;
@@ -42,6 +41,7 @@
import org.lamsfoundation.lams.learningdesign.OptionsActivity;
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.web.util.AttributeNames;
+import org.lamsfoundation.lams.web.util.TokenProcessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java
===================================================================
diff -u -r580d89078524d7f06eccd71feefc7e6f98717538 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision 580d89078524d7f06eccd71feefc7e6f98717538)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -144,7 +144,7 @@
request.setAttribute(AttributeNames.PARAM_LESSON_ID, lessonId);
if (groupingDone) {
request.setAttribute(GroupingController.FINISHED_BUTTON, Boolean.TRUE);
- return viewGrouping(request, learnerProgress) ;
+ return viewGrouping(request, learnerProgress);
}
// forward to group choosing page
if (((GroupingActivity) activity).getCreateGrouping().isLearnerChoiceGrouping()) {
@@ -180,8 +180,8 @@
// }
@RequestMapping("/viewGroup")
- public String viewGrouping(HttpServletRequest request,@RequestParam (required = false)LearnerProgress learnerProgress)
- throws IOException, ServletException {
+ public String viewGrouping(HttpServletRequest request,
+ @RequestParam(required = false) LearnerProgress learnerProgress) throws IOException, ServletException {
prepareGroupData(request);
request.setAttribute(GroupingController.LOCAL_FILES, Boolean.FALSE);
ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true);
@@ -270,8 +270,7 @@
Long lessonId = learnerProgress.getLesson().getLessonId();
learnerService.learnerChooseGroup(lessonId, activity.getActivityId(), groupId, LearningWebUtil.getUserId());
- String redirectURL = "/grouping.do";
- redirectURL = WebUtil.appendParameterToURL(redirectURL, "method", "performGrouping");
+ String redirectURL = "/grouping/performGrouping.do";
redirectURL = WebUtil.appendParameterToURL(redirectURL, "activityID", activity.getActivityId().toString());
return redirectURL;
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java
===================================================================
diff -u -r4e2c39e0ea14d5a8aa406327a16425e81b1e6702 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision 4e2c39e0ea14d5a8aa406327a16425e81b1e6702)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -392,7 +392,7 @@
if ((url != null) && (monitorId != null)) {
// URL in monitor mode
url = Configuration.get(ConfigurationKeys.SERVER_URL)
- + "monitoring/monitoring.do?method=getLearnerActivityURL&lessonID=" + lessonId + "&activityID="
+ + "monitoring/monitoring/getLearnerActivityURL.do?lessonID=" + lessonId + "&activityID="
+ activity.getActivityId() + "&userID=" + learnerId;
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/NotebookController.java
===================================================================
diff -u -r8f4be61ce9ac48ffc767138df8932b7f70427cdd -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/NotebookController.java (.../NotebookController.java) (revision 8f4be61ce9ac48ffc767138df8932b7f70427cdd)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/NotebookController.java (.../NotebookController.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -47,7 +47,6 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.context.WebApplicationContext;
/**
@@ -210,7 +209,7 @@
return "notebook/view";
}
-
+
@RequestMapping("/add")
public String addNewEntry(@ModelAttribute("notebookForm") NotebookForm notebookForm) {
return "notebook/addnew";
@@ -238,8 +237,8 @@
/**
*
*/
- @RequestMapping(path="/updateEntry")
- public String updateEntry(@ModelAttribute ("notebookForm") NotebookForm notebookForm, HttpServletRequest request)
+ @RequestMapping(path = "/updateEntry")
+ public String updateEntry(@ModelAttribute("notebookForm") NotebookForm notebookForm, HttpServletRequest request)
throws IOException, ServletException {
Long uid = notebookForm.getUid();
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/LogLessonMarkPushedToIntegrationsServlet.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/LogLessonMarkPushedToIntegrationsServlet.java (.../LogLessonMarkPushedToIntegrationsServlet.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/LogLessonMarkPushedToIntegrationsServlet.java (.../LogLessonMarkPushedToIntegrationsServlet.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -70,7 +70,8 @@
}
//log mark has been successfullly pushed to the integrated server
- logEventService.logEvent(LogEvent.TYPE_LEARNER_LESSON_MARK_SUBMIT, user.getUserID(), null, lessonID, null, "ADD COMMENT HERE");
+ logEventService.logEvent(LogEvent.TYPE_LEARNER_LESSON_MARK_SUBMIT, user.getUserID(), null, lessonID, null,
+ "ADD COMMENT HERE");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java (.../RepopulateProgressMarksServlet.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java (.../RepopulateProgressMarksServlet.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -146,7 +146,8 @@
msg = new StringBuilder(header).append("Successful run, no errors\n").append(auditLogBuilder.toString())
.toString();
}
- logEventService.logEvent(LogEvent.TYPE_MARK_UPDATED, userDTO != null ? userDTO.getUserID() : null, null, lessonId, null, msg);
+ logEventService.logEvent(LogEvent.TYPE_MARK_UPDATED, userDTO != null ? userDTO.getUserID() : null, null,
+ lessonId, null, msg);
out.println(msg);
return;
}
@@ -182,7 +183,7 @@
public ActivitiesToCheckProcessor(LearningDesign design, IActivityDAO activityDAO) {
super(design, activityDAO);
- activityList = new ArrayList();
+ activityList = new ArrayList<>();
}
@Override
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java
===================================================================
diff -u -r417b301a93d0e3b232370eef325b15a0642a8f8c -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 417b301a93d0e3b232370eef325b15a0642a8f8c)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -87,14 +87,7 @@
activity.getActivityId().toString());
}
- if ((activity != null) && activity.isToolActivity()) {
- // always use redirect false for a ToolActivity as ToolDisplayActivity
- // does it's own redirect
- forward = actionToForward(action, activity, false);
- } else {
- forward = actionToForward(action, activity, redirect);
- }
-
+ forward = actionToForward(action, activity, redirect);
return forward;
}
@@ -243,8 +236,12 @@
* should the action be a client redirect
* @return
*/
- protected String actionToForward(String action, Activity activity, boolean redirect) {
- return redirect ? "redirect:" + ActivityMapping.actionToURL(action, activity, false) : "forward:" + action;
+// protected String actionToForward(String action, Activity activity, boolean redirect) {
+// return redirect ? "redirect:" + ActivityMapping.actionToURL(action, activity, false) : "forward:" + action;
+// }
+
+ protected String actionToForward(String action, Activity activity, boolean addParams) {
+ return "redirect:" + (addParams ? ActivityMapping.actionToURL(action, activity, false) : action);
}
/**
@@ -353,4 +350,5 @@
return "DisplayActivity.do";
}
}
+
}
\ No newline at end of file
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java (.../ActivityMappingStrategy.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java (.../ActivityMappingStrategy.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -21,7 +21,6 @@
* ****************************************************************
*/
-
package org.lamsfoundation.lams.learning.web.util;
import java.io.Serializable;
@@ -41,7 +40,7 @@
/**
* Returns the struts action used to display the specified activity.
- *
+ *
* @param activity,
* Activity to be displayed
* @param progress,
@@ -84,7 +83,7 @@
* Returns the struts action for triggering the window to close.
*/
protected String getCloseWindowAction() {
- return "/close.do";
+ return "../close.jsp";
}
/**
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java (.../ParallelActivityMappingStrategy.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java (.../ParallelActivityMappingStrategy.java) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -21,7 +21,6 @@
* ****************************************************************
*/
-
package org.lamsfoundation.lams.learning.web.util;
import org.lamsfoundation.lams.learningdesign.Activity;
@@ -35,7 +34,7 @@
/**
* Returns the struts action used to display the specified activity.
- *
+ *
* @param activity,
* Activity to be displayed
* @param progress,
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/struts-config.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tiles-defs.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_learning/web/WEB-INF/tlds/lams/lams.tld
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f
--- lams_learning/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_learning/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f)
@@ -212,191 +212,6 @@
-
- STRUTS-textarea
- org.lamsfoundation.lams.web.tag.MultiLinesTextareaTag
- empty
-
- accesskey
- false
- true
-
-
- alt
- false
- true
-
-
- altKey
- false
- true
-
-
- bundle
- false
- true
-
-
- cols
- false
- true
-
-
- disabled
- false
- true
-
-
- errorKey
- false
- true
-
-
- errorStyle
- false
- true
-
-
- errorStyleClass
- false
- true
-
-
- errorStyleId
- false
- true
-
-
- index
- false
- true
-
-
- indexed
- false
- true
-
-
- name
- false
- true
-
-
- onblur
- false
- true
-
-
- onchange
- false
- true
-
-
- onclick
- false
- true
-
-
- ondblclick
- false
- true
-
-
- onfocus
- false
- true
-
-
- onkeydown
- false
- true
-
-
- onkeypress
- false
- true
-
-
- onkeyup
- false
- true
-
-
- onmousedown
- false
- true
-
-
- onmousemove
- false
- true
-
-
- onmouseout
- false
- true
-
-
- onmouseover
- false
- true
-
-
- onmouseup
- false
- true
-
-
- property
- true
- true
-
-
- readonly
- false
- true
-
-
- rows
- false
- true
-
-
- style
- false
- true
-
-
- styleClass
- false
- true
-
-
- styleId
- false
- true
-
-
- tabindex
- false
- true
-
-
- title
- false
- true
-
-
- titleKey
- false
- true
-
-
- value
- false
- true
-
-
Small portrait of a user
@@ -555,6 +370,7 @@
true
+
head
/WEB-INF/tags/Head.tag
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-bean-el.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-bean.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-html-el.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-html.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-logic-el.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-logic.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-nested.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-tiles-el.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/tlds/struts/struts-tiles.tld'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/validation.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 7e05bfe2c334b0b3224bbbdd3d6b7f10b383ee9f refers to a dead (removed) revision in file `lams_learning/web/WEB-INF/validator-rules.xml'.
Fisheye: No comparison available. Pass `N' to diff?