Index: lams_admin/web/user.jsp =================================================================== diff -u -r1ef1213820fe7ff7c6f4a9238b3f489a25012c63 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_admin/web/user.jsp (.../user.jsp) (revision 1ef1213820fe7ff7c6f4a9238b3f489a25012c63) +++ lams_admin/web/user.jsp (.../user.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -141,20 +141,25 @@ } - function deletePortrait() { - $("#portraitButton").css('display','none'); - $.ajax({ - url : '/lams/saveportrait/deletePortrait.do', - data : { 'userId' : '' }, - success : function(response) { - if ( response == 'deleted') { - loadPortrait(''); - } else { - alert(""); - } + function deletePortrait() { + $("#portraitButton").css('display','none'); + + $.ajax({ + url : '/lams/saveportrait/deletePortrait.do', + data : { + 'userId': '' , + "": "" + }, + type : 'POST', + success : function(response) { + if ( response == 'deleted') { + loadPortrait(''); + } else { + alert(""); + } + } + }); } - }); - } Index: lams_central/conf/security/Owasp.CsrfGuard.properties =================================================================== diff -u -rea8ad137bc60b854b46ff2dad8a573a648ae6bb9 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/conf/security/Owasp.CsrfGuard.properties (.../Owasp.CsrfGuard.properties) (revision ea8ad137bc60b854b46ff2dad8a573a648ae6bb9) +++ lams_central/conf/security/Owasp.CsrfGuard.properties (.../Owasp.CsrfGuard.properties) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -55,6 +55,10 @@ org.owasp.csrfguard.protected.centralAddLessonDependency=/lams/lessonConditions/addLessonDependency.do org.owasp.csrfguard.protected.centralSetDaysToFinish=/lams/lessonConditions/setDaysToLessonFinish.do org.owasp.csrfguard.protected.centralDelLessonDependency=/lams/lessonConditions/removeLessonDependency.do +org.owasp.csrfguard.protected.centralRemoveGrouping=/lams/organisationGroup/removeGrouping.do +org.owasp.csrfguard.protected.centralSaveGroupMappings=/lams/organisationGroup/saveGroupMappings.do +org.owasp.csrfguard.protected.centralPortraitDelete=/lams/saveportrait/deletePortrait.do +org.owasp.csrfguard.protected.centralPortraitSave=/lams/saveportrait.do #Author org.owasp.csrfguard.protected.centralAuthorSaveLearningDesign=/lams/authoring/saveLearningDesign.do @@ -72,6 +76,7 @@ org.owasp.csrfguard.protected.gradebookUpdateUserLessonData=/lams/gradebook/gradebookMonitoring/updateUserLessonGradebookData.do org.owasp.csrfguard.protected.monitoringAddLesson=/lams/monitoring/monitoring/addLesson.do +org.owasp.csrfguard.protected.monitoringStartLesson=/lams/monitoring/monitoring/startLesson.do org.owasp.csrfguard.protected.monitoringArchiveLesson=/lams/monitoring/monitoring/archiveLesson.do org.owasp.csrfguard.protected.monitoringUnarchiveLesson=/lams/monitoring/monitoring/unarchiveLesson.do org.owasp.csrfguard.protected.monitoringSuspendLesson=/lams/monitoring/monitoring/suspendLesson.do @@ -83,9 +88,17 @@ org.owasp.csrfguard.protected.monitoringPresenceImAvailable=/lams/monitoring/monitoring/presenceImAvailable.do org.owasp.csrfguard.protected.monitoringEmailProgressDate=/lams/monitoring/emailProgress/updateEmailProgressDate.do org.owasp.csrfguard.protected.monitoringSendEmail=/lams/emailUser/send.do +org.owasp.csrfguard.protected.monitoringForceComplete=/lams/monitoring/monitoring/forceComplete.do org.owasp.csrfguard.protected.monitoringUpdateLessonClass=/lams/monitoring/monitoring/updateLessonClass.do org.owasp.csrfguard.protected.monitoringEmailNotificationsEmailUsers=/lams/monitoring/emailNotifications/emailUsers.do org.owasp.csrfguard.protected.monitoringEmailNotificationsDel=/lams/monitoring/emailNotifications/deleteNotification.do +org.owasp.csrfguard.protected.monitoringGateOpen=/lams/monitoring/gate/openGate.do +org.owasp.csrfguard.protected.monitoringGateOpenForSingleUser=/lams/monitoring/gate/openGateForSingleUser.do +org.owasp.csrfguard.protected.monitoringGateSchedule=/lams/monitoring/gate/scheduleGate.do +org.owasp.csrfguard.protected.monitoringGroupingSaveAsCourseGrouping=/lams/monitoring/grouping/saveAsCourseGrouping.do +org.owasp.csrfguard.protected.monitoringGroupingAddMembers=/lams/monitoring/grouping/addMembers.do +org.owasp.csrfguard.protected.monitoringGroupingChangeGroupName=/lams/monitoring/grouping/changeGroupName.do +org.owasp.csrfguard.protected.monitoringGroupingRemoveGroup=/lams/monitoring/grouping/removeGroup.do org.owasp.csrfguard.protected.assessmentAuthoringSave=/lams/tool/laasse10/authoring/updateContent.do org.owasp.csrfguard.protected.assessmentAuthoringDefineLater=/lams/tool/laasse10/authoring/definelater.do @@ -131,6 +144,7 @@ org.owasp.csrfguard.protected.leaderAuthoringSave=/lams/tool/lalead11/authoring/updateContent.do org.owasp.csrfguard.protected.leaderAuthoringDefineLater=/lams/tool/lalead11/authoring/definelater.do org.owasp.csrfguard.protected.leaderSaveLeaders=/lams/tool/lalead11/monitoring/saveLeaders.do +org.owasp.csrfguard.protected.leaderTblmonitoringChangeLeader=/lams/tool/lalead11/tblmonitoring/changeLeader.do org.owasp.csrfguard.protected.laqaAuthoringSave=/lams/tool/laqa11/authoring/submitAllContent.do org.owasp.csrfguard.protected.laqaAuthoringDefineLater=/lams/tool/laqa11/authoring/definelater.do Index: lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java =================================================================== diff -u -r83e6cc16c7dfc3a8b47376ecda0b6e4f23dba9b2 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java (.../OrganisationGroupController.java) (revision 83e6cc16c7dfc3a8b47376ecda0b6e4f23dba9b2) +++ lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupController.java (.../OrganisationGroupController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -41,8 +41,10 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.exception.InvalidParameterException; +import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.dto.ExtGroupDTO; import org.lamsfoundation.lams.integration.service.IIntegrationService; +import org.lamsfoundation.lams.integration.util.GroupInfoFetchException; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.BranchingActivity; @@ -105,7 +107,8 @@ */ @RequestMapping("/viewGroupings") @SuppressWarnings("unchecked") - public String viewGroupings(HttpServletRequest request, HttpServletResponse response) throws Exception { + public String viewGroupings(HttpServletRequest request, HttpServletResponse response) + throws GroupInfoFetchException, UserInfoValidationException, IOException { Long activityID = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID, true); Integer userId = getUserDTO().getUserID(); @@ -185,14 +188,12 @@ /** * View groups of the given grouping. - * - * @throws Exception */ @RequestMapping("/viewGroups") @SuppressWarnings("unchecked") public String viewGroups(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "organisationID", required = false) Integer organisationId) - throws Exception { + throws IOException, GroupInfoFetchException, UserInfoValidationException { Integer userId = getUserDTO().getUserID(); Long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID, true); Lesson lesson = null; @@ -422,11 +423,10 @@ /** * Deletes course grouping with the given ID. - * - * @throws Exception */ - @RequestMapping("/removeGrouping") - public String removeGrouping(HttpServletRequest request, HttpServletResponse response) throws Exception { + @RequestMapping(path = "/removeGrouping", method = RequestMethod.POST) + public String removeGrouping(HttpServletRequest request, HttpServletResponse response) + throws IOException, GroupInfoFetchException, UserInfoValidationException { // check if user is allowed to edit groups Integer userId = getUserDTO().getUserID(); int organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID); Index: lams_central/src/java/org/lamsfoundation/lams/web/PasswordChangeController.java =================================================================== diff -u -r40999ebf3d80fb927454744fff14bd09538ad213 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/src/java/org/lamsfoundation/lams/web/PasswordChangeController.java (.../PasswordChangeController.java) (revision 40999ebf3d80fb927454744fff14bd09538ad213) +++ lams_central/src/java/org/lamsfoundation/lams/web/PasswordChangeController.java (.../PasswordChangeController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -140,6 +140,5 @@ } request.setAttribute("redirectURL", passwordChangeForm.getRedirectURL()); return "/passwordChangeOkContent"; - } } Index: lams_central/src/java/org/lamsfoundation/lams/web/PortraitController.java =================================================================== diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/src/java/org/lamsfoundation/lams/web/PortraitController.java (.../PortraitController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50) +++ lams_central/src/java/org/lamsfoundation/lams/web/PortraitController.java (.../PortraitController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -42,9 +42,7 @@ private IUserManagementService userManagementService; @RequestMapping("/portrait") - public String execute(@ModelAttribute("PortraitActionForm") PortraitActionForm portraitForm, HttpServletRequest request) - throws Exception { - + public String execute(@ModelAttribute("PortraitActionForm") PortraitActionForm portraitForm, HttpServletRequest request) { Long portraitUuid = userManagementService.getUserByLogin(request.getRemoteUser()).getPortraitUuid(); log.debug("using portraitUuid=" + portraitUuid); // if no portrait has been uploaded, set the uuid to 0 Index: lams_central/src/java/org/lamsfoundation/lams/web/PortraitSaveController.java =================================================================== diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/src/java/org/lamsfoundation/lams/web/PortraitSaveController.java (.../PortraitSaveController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50) +++ lams_central/src/java/org/lamsfoundation/lams/web/PortraitSaveController.java (.../PortraitSaveController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -34,6 +34,8 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.NodeKey; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.contentrepository.exception.InvalidParameterException; +import org.lamsfoundation.lams.contentrepository.exception.RepositoryCheckedException; import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.service.ILogEventService; import org.lamsfoundation.lams.usermanagement.Role; @@ -79,10 +81,10 @@ /** * Upload portrait image. */ - @RequestMapping("") + @RequestMapping(path = "", method = RequestMethod.POST) public String unspecified(@ModelAttribute("PortraitActionForm") PortraitActionForm portraitForm, - HttpServletRequest request, HttpServletResponse response) throws Exception { - + HttpServletRequest request, HttpServletResponse response) + throws IOException, InvalidParameterException, RepositoryCheckedException { MultiValueMap errorMap = new LinkedMultiValueMap<>(); MultipartFile file = portraitForm.getFile(); @@ -163,9 +165,8 @@ } /** Called from sysadmin to delete an inappropriate portrait */ - @RequestMapping("/deletePortrait") - public String deletePortrait(HttpServletRequest request, HttpServletResponse response) throws Exception { - + @RequestMapping(path = "/deletePortrait", method = RequestMethod.POST) + public String deletePortrait(HttpServletRequest request, HttpServletResponse response) throws IOException { Integer userId = WebUtil.readIntParam(request, "userId", true); // check user is sysadmin Index: lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveController.java =================================================================== diff -u -r0c4dd9644dcb13ab9edcdd354f6f28945a09684a -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveController.java (.../ProfileSaveController.java) (revision 0c4dd9644dcb13ab9edcdd354f6f28945a09684a) +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileSaveController.java (.../ProfileSaveController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -23,6 +23,8 @@ package org.lamsfoundation.lams.web; +import java.lang.reflect.InvocationTargetException; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -46,6 +48,7 @@ import org.springframework.util.MultiValueMap; 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.bind.annotation.RequestParam; /** @@ -61,9 +64,9 @@ @Qualifier("centralMessageService") private MessageService messageService; - @RequestMapping(path = "/saveprofile") + @RequestMapping(path = "/saveprofile", method = RequestMethod.POST) public String execute(@ModelAttribute("newForm") UserForm userForm, @RequestParam boolean editNameOnly, - HttpServletRequest request) throws Exception { + HttpServletRequest request) throws IllegalAccessException, InvocationTargetException { MultiValueMap errorMap = new LinkedMultiValueMap<>(); if (!Configuration.getAsBoolean(ConfigurationKeys.PROFILE_EDIT_ENABLE)) { Index: lams_central/web/includes/javascript/orgGroup.js =================================================================== diff -u -r6dcc39917657070688863ede60eac6f094929d6a -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/web/includes/javascript/orgGroup.js (.../orgGroup.js) (revision 6dcc39917657070688863ede60eac6f094929d6a) +++ lams_central/web/includes/javascript/orgGroup.js (.../orgGroup.js) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -335,15 +335,18 @@ executeDelete = !lessonMode; if (lessonMode) { + var data = { + 'activityID' : groupingActivityId, + 'groupID' : groupId + }; + data[csrfTokenName] = csrfTokenValue; + $.ajax({ async : false, cache : false, dataType : 'json', url : LAMS_URL + 'monitoring/grouping/removeGroup.do', - data : { - 'activityID' : groupingActivityId, - 'groupID' : groupId - }, + data : data, type : 'POST', success : function(response) { executeDelete = response.result; @@ -367,14 +370,16 @@ var inputEditable = !nameInput.attr('readonly'); // only lesson groups which exist on the server need to have their names changed immediatelly if (lessonMode && groupId && inputEditable) { - var groupName = nameInput.val(); + var data = { + 'groupID' : groupId, + 'name' : nameInput.val()//groupName + }; + data[csrfTokenName] = csrfTokenValue; + $.ajax({ cache : false, url : LAMS_URL + 'monitoring/grouping/changeGroupName.do', - data : { - 'groupID' : groupId, - 'name' : groupName - }, + data : data, type : 'POST' }); } @@ -483,18 +488,20 @@ // name is only needed when creating a new group, i.e. a group which does not have ID yet var groupName = groupId ? null : $('input', groupContainer).val(); var result = false; + var data = { + 'activityID' : groupingActivityId, + 'groupID' : groupId, + 'name' : groupName, + 'members' : userIds ? userIds.join() : null + }; + data[csrfTokenName] = csrfTokenValue; $.ajax({ async : false, cache : false, dataType : 'json', url : LAMS_URL + 'monitoring/grouping/addMembers.do', - data : { - 'activityID' : groupingActivityId, - 'groupID' : groupId, - 'name' : groupName, - 'members' : userIds ? userIds.join() : null - }, + data : data, type : 'POST', success : function(response) { result = response.result; @@ -789,16 +796,20 @@ }, success : function(response) { if (response.isGroupingNameUnique) { + var data = { + 'organisationID' : organisationId, + 'activityID' : groupingActivityId, + 'name' : name + }; + data[csrfTokenName] = csrfTokenValue; + $.ajax({ dataType : 'json', url : LAMS_URL + 'monitoring/grouping/saveAsCourseGrouping.do', + type : 'POST', cache : false, async : false, - data : { - 'organisationID' : organisationId, - 'activityID' : groupingActivityId, - 'name' : name - }, + data : data, success : function(response) { $('#saveAsCourseGroupingDialog').modal('hide'); alert(LABELS.SAVED_SUCCESSFULLY_LABEL); Index: lams_central/web/includes/javascript/orgGrouping.js =================================================================== diff -u -r5a93ffc44f9a5567a1ee8afeb112c9ba25a3bf29 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/web/includes/javascript/orgGrouping.js (.../orgGrouping.js) (revision 5a93ffc44f9a5567a1ee8afeb112c9ba25a3bf29) +++ lams_central/web/includes/javascript/orgGrouping.js (.../orgGrouping.js) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -2,8 +2,21 @@ function removeGrouping(groupingId) { if (!lessonMode && confirm(LABELS.REMOVE_GROUPING_CONFIRM_LABEL)) { - document.location.href = LAMS_URL + "organisationGroup/removeGrouping.do?organisationID=" - + organisationId + "&groupingId=" + groupingId; + //dynamically create a form and submit it + var form = $('
'); + + var hiddenField = $(''); + form.append(hiddenField); + + hiddenField = $(''); + form.append(hiddenField); + + hiddenField = $(''); + form.append(hiddenField); + + // The form needs to be a part of the document in order to be submitted + $(document.body).append(form); + form.submit(); } } @@ -62,12 +75,16 @@ } }); + var data = { + 'mapping' : JSON.stringify(groupsToBranches) + }; + data[csrfTokenName] = csrfTokenValue; + // save the mapping $.ajax({ url : LAMS_URL + 'organisationGroup/saveGroupMappings.do', - data : { - 'mapping' : JSON.stringify(groupsToBranches) - }, + data : data, + type : 'POST', success : function(response) { // LAMS can reply 200 even if there is an error, so we need OK response if (response == 'OK') { Index: lams_central/web/orgGroup.jsp =================================================================== diff -u -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_central/web/orgGroup.jsp (.../orgGroup.jsp) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) +++ lams_central/web/orgGroup.jsp (.../orgGroup.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,26 +1,19 @@ - -<%@ page contentType="text/html; charset=utf-8" language="java"%> -<%@ taglib uri="tags-lams" prefix="lams"%> -<%@ taglib uri="tags-fmt" prefix="fmt"%> -<%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> - - +<%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.util.Configuration" %> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> <%@ page import="org.lamsfoundation.lams.util.FileValidatorUtil" %> + <%=Configuration.get(ConfigurationKeys.UPLOAD_FILE_MAX_SIZE)%> <%=FileValidatorUtil.formatSize(Configuration.getAsInt(ConfigurationKeys.UPLOAD_FILE_MAX_SIZE))%> + - - @@ -44,6 +37,8 @@ // When true, it means that groups can not be added or removed, but user can be still moved. usedForBranching = ${usedForBranching eq true}, warnBeforeUpload = false, + csrfTokenName = '', + csrfTokenValue = '', LAMS_URL = '', decoderDiv = $('
'), @@ -80,10 +75,7 @@ ERROR_FILE_WRONG_FORMAT_LABEL : decoderDiv.html('').text(), LABEL_IMPORT_SUCCESSFUL_LABEL : decoderDiv.html('').text(), - }; - - - + +
Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java =================================================================== diff -u -r20aa6cbca9fc96d341080e6ad39f82593443f792 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision 20aa6cbca9fc96d341080e6ad39f82593443f792) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IIntegrationService.java (.../IIntegrationService.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -37,6 +37,7 @@ import org.lamsfoundation.lams.integration.UserInfoFetchException; import org.lamsfoundation.lams.integration.UserInfoValidationException; import org.lamsfoundation.lams.integration.dto.ExtGroupDTO; +import org.lamsfoundation.lams.integration.util.GroupInfoFetchException; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.User; @@ -231,7 +232,7 @@ */ boolean isIntegratedServerGroupFetchingAvailable(Long lessonId); - List getExtGroups(Long lessonId, String[] extGroupIds) throws Exception; + List getExtGroups(Long lessonId, String[] extGroupIds) throws GroupInfoFetchException, UserInfoValidationException, IOException; ExtCourseClassMap getExtCourseClassMap(Integer sid, Long lessonId); Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== diff -u -r20aa6cbca9fc96d341080e6ad39f82593443f792 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 20aa6cbca9fc96d341080e6ad39f82593443f792) +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -737,7 +737,8 @@ } @Override - public List getExtGroups(Long lessonId, String[] extGroupIds) throws Exception { + public List getExtGroups(Long lessonId, String[] extGroupIds) + throws GroupInfoFetchException, UserInfoValidationException, IOException { // the callback url must contain %username%, %lessonid%, %timestamp% and %hash% eg: // "http://server.org/lams-bb/UserData?uid=%username%&lessonid=%lessonid%&ts=%timestamp%&hash=%hash%"; // where %username%, %lessonid%, %timestamp% and %hash% will be replaced with their real values Index: lams_common/src/java/org/lamsfoundation/lams/util/WebUtil.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_common/src/java/org/lamsfoundation/lams/util/WebUtil.java (.../WebUtil.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_common/src/java/org/lamsfoundation/lams/util/WebUtil.java (.../WebUtil.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -481,8 +481,7 @@ * @throws ToolException * @throws IOException */ - public static InputStream getResponseInputStreamFromExternalServer(String urlStr, HashMap params) - throws Exception { + public static InputStream getResponseInputStreamFromExternalServer(String urlStr, HashMap params) throws IOException { if (!urlStr.contains("?")) { urlStr += "?"; } @@ -497,7 +496,7 @@ URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) { WebUtil.log.error("Fail to connect to external server though url: " + urlStr); - throw new Exception("Fail to connect to external server though url: " + urlStr); + throw new RuntimeException("Fail to connect to external server though url: " + urlStr); } HttpURLConnection httpConn = (HttpURLConnection) conn; @@ -508,7 +507,7 @@ InputStream is = url.openConnection().getInputStream(); if (is == null) { WebUtil.log.error("Fail to fetch data from external server, return InputStream null: " + urlStr); - throw new Exception("Fail to fetch data from external server, return inputStream null: " + urlStr); + throw new RuntimeException("Fail to fetch data from external server, return inputStream null: " + urlStr); } return is; Fisheye: Tag 40de3afab4e8d589660daffb6efd6e568e87f8fa refers to a dead (removed) revision in file `lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/FileUploadForm.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java =================================================================== diff -u -rbaeb14be8e4c423b2e9ebe3a253c73499051f765 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java (.../GateController.java) (revision baeb14be8e4c423b2e9ebe3a253c73499051f765) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java (.../GateController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -23,7 +23,6 @@ package org.lamsfoundation.lams.monitoring.web; -import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -37,7 +36,6 @@ import java.util.Set; import java.util.TimeZone; -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -51,6 +49,7 @@ import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.monitoring.service.IMonitoringFullService; import org.lamsfoundation.lams.monitoring.service.MonitoringServiceException; +import org.lamsfoundation.lams.monitoring.web.form.GateForm; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; @@ -60,6 +59,7 @@ 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; /** *

@@ -78,12 +78,10 @@ *

* * @author Jacky Fang - * @since 2005-4-15 */ @Controller @RequestMapping("/gate") public class GateController { - private static final DateFormat SCHEDULING_DATETIME_FORMAT = new SimpleDateFormat("MM/dd/yy HH:mm"); @Autowired @@ -93,9 +91,6 @@ @Autowired private ILessonService lessonService; - // --------------------------------------------------------------------- - // Method - // --------------------------------------------------------------------- /** *

* The dispatch method that allows the teacher to view the status of the gate. It is expecting the caller passed in @@ -109,12 +104,9 @@ * * Note: gate form attribute waitingLearners got setup after the view is dispatch to ensure * there won't be casting exception occur if the activity id is not a gate by chance. - * */ @RequestMapping("/viewGate") - public String viewGate(@ModelAttribute GateForm gateForm, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - + public String viewGate(@ModelAttribute GateForm gateForm, HttpServletRequest request, HttpServletResponse response) { // if this is the initial call then activity id will be in the request, otherwise // get it from the form (if being called from openGate.jsp Long gateIdLong = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID, true); @@ -137,10 +129,8 @@ /** * Open the gate if is closed. */ - @RequestMapping("/openGate") - public String openGate(@ModelAttribute GateForm gateForm, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - + @RequestMapping(path = "/openGate", method = RequestMethod.POST) + public String openGate(@ModelAttribute GateForm gateForm, HttpServletRequest request, HttpServletResponse response) { GateActivity gate = monitoringService.openGate(gateForm.getActivityId(), getUserId()); return findViewByGateType(gateForm, gate); @@ -149,10 +139,9 @@ /** * Allows a single learner to pass the gate. */ - @RequestMapping("/openGateForSingleUser") + @RequestMapping(path = "/openGateForSingleUser", method = RequestMethod.POST) public String openGateForSingleUser(@ModelAttribute GateForm gateForm, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { - + HttpServletResponse response) { Long gateIdLong = gateForm.getActivityId(); String userId = gateForm.getUserId(); String[] userIdsString = userId.split(","); @@ -166,10 +155,9 @@ return findViewByGateType(gateForm, gate); } - @RequestMapping("/scheduleGate") + @RequestMapping(path = "/scheduleGate", method = RequestMethod.POST) public String scheduleGate(@ModelAttribute GateForm gateForm, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException, ParseException { - + HttpServletResponse response) throws ParseException { Long gateId = gateForm.getActivityId(); String dateAsString = gateForm.getScheduleDate(); GateActivity gate = null; @@ -192,7 +180,6 @@ /** * Dispatch view the according to the gate type. - * */ private String findViewByGateType(@ModelAttribute GateForm gateForm, GateActivity gate) { // reset all the other fields, so that the following code only has to set up its own values (LDEV-1237) Fisheye: Tag 40de3afab4e8d589660daffb6efd6e568e87f8fa refers to a dead (removed) revision in file `lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateForm.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java =================================================================== diff -u -r29a37489a63e5a95f42a5ef5fd8a7daeb65c53c5 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision 29a37489a63e5a95f42a5ef5fd8a7daeb65c53c5) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -62,6 +62,7 @@ import org.springframework.beans.factory.annotation.Autowired; 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.ResponseBody; import com.fasterxml.jackson.databind.node.JsonNodeFactory; @@ -88,8 +89,6 @@ @Autowired private IUserManagementService userManagementService; - // --------------------------------------------------------------------- - private static final String CHOSEN_GROUPING_SCREEN = "chosenGrouping"; private static final String VIEW_GROUPS_SCREEN = "viewGroups"; private static final String PARAM_ACTIVITY_TITLE = "title"; @@ -109,7 +108,6 @@ */ @RequestMapping("/startGrouping") public String startGrouping(HttpServletRequest request) throws IOException, ServletException { - return startGrouping(request, false); } @@ -214,7 +212,7 @@ /** * Moves users between groups, removing them from previous group and creating a new one, if needed. */ - @RequestMapping("/addMembers") + @RequestMapping(path = "/addMembers", method = RequestMethod.POST) @ResponseBody public String addMembers(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json;charset=utf-8"); @@ -238,15 +236,15 @@ result = group.mayBeDeleted(); if (result) { - if (GroupingAJAXController.log.isDebugEnabled()) { - GroupingAJAXController.log.debug("Removing users " + membersParam.toString() + " from group " + if (log.isDebugEnabled()) { + log.debug("Removing users " + membersParam.toString() + " from group " + group.getGroupId() + " in activity " + activityID); } try { monitoringService.removeUsersFromGroup(activityID, group.getGroupId(), members); } catch (LessonServiceException e) { - GroupingAJAXController.log.error(e); + log.error(e); result = false; } } @@ -264,8 +262,8 @@ if (result && ((groupID == null) || (groupID > 0))) { if (groupID == null) { String name = WebUtil.readStrParam(request, GroupingAJAXController.PARAM_NAME); - if (GroupingAJAXController.log.isDebugEnabled()) { - GroupingAJAXController.log + if (log.isDebugEnabled()) { + log .debug("Creating group with name \"" + name + "\" in activity " + activityID); } Group group = monitoringService.addGroup(activityID, name, true); @@ -280,16 +278,16 @@ } if (result && (members != null)) { - if (GroupingAJAXController.log.isDebugEnabled()) { - GroupingAJAXController.log.debug("Adding users " + membersParam.toString() + " to group " + groupID + if (log.isDebugEnabled()) { + log.debug("Adding users " + membersParam.toString() + " to group " + groupID + " in activity " + activityID); } // add users to the given group try { monitoringService.addUsersToGroup(activityID, groupID, members); } catch (LessonServiceException e) { - GroupingAJAXController.log.error(e); + log.error(e); result = false; } } @@ -302,7 +300,7 @@ /** * Stores lesson grouping as a course grouping. */ - @RequestMapping("/saveAsCourseGrouping") + @RequestMapping(path = "/saveAsCourseGrouping", method = RequestMethod.POST) @ResponseBody public String saveAsCourseGrouping(HttpServletRequest request, HttpServletResponse response) throws IOException { @@ -352,13 +350,13 @@ /** * Renames the group. */ - @RequestMapping("/changeGroupName") + @RequestMapping(path = "/changeGroupName", method = RequestMethod.POST) public String changeGroupName(HttpServletRequest request) { Long groupID = WebUtil.readLongParam(request, AttributeNames.PARAM_GROUP_ID); String name = WebUtil.readStrParam(request, GroupingAJAXController.PARAM_NAME); if (name != null) { - if (GroupingAJAXController.log.isDebugEnabled()) { - GroupingAJAXController.log.debug("Renaming group " + groupID + " to \"" + name + "\""); + if (log.isDebugEnabled()) { + log.debug("Renaming group " + groupID + " to \"" + name + "\""); } monitoringService.setGroupName(groupID, name); } @@ -392,7 +390,7 @@ /** * Checks if a group can be removed and performs it. */ - @RequestMapping("/removeGroup") + @RequestMapping(path = "/removeGroup", method = RequestMethod.POST) @ResponseBody public String removeGroup(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json;charset=utf-8"); @@ -406,12 +404,12 @@ if (result) { try { - if (GroupingAJAXController.log.isDebugEnabled()) { - GroupingAJAXController.log.debug("Removing group " + groupID + " from activity " + activityID); + if (log.isDebugEnabled()) { + log.debug("Removing group " + groupID + " from activity " + activityID); } monitoringService.removeGroup(activityID, groupID); } catch (LessonServiceException e) { - GroupingAJAXController.log.error(e); + log.error(e); result = false; } } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java =================================================================== diff -u -rf13b8a48b9a1cfaee56a654ba751a9736616b726 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision f13b8a48b9a1cfaee56a654ba751a9736616b726) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -58,6 +58,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.monitoring.service.IMonitoringFullService; +import org.lamsfoundation.lams.monitoring.web.form.FileUploadForm; import org.lamsfoundation.lams.security.ISecurityService; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationGroup; Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java =================================================================== diff -u -rea8ad137bc60b854b46ff2dad8a573a648ae6bb9 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision ea8ad137bc60b854b46ff2dad8a573a648ae6bb9) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -212,14 +212,10 @@ * The Struts dispatch method that starts a lesson that has been created beforehand. Most likely, the request to * start lesson should be triggered by the Monitoring This method will delegate to the Spring service bean to * complete all the steps for starting a lesson. - * - * @throws IOException - * @throws ServletException */ - @RequestMapping("/startLesson") + @RequestMapping(path = "/startLesson", method = RequestMethod.POST) @ResponseBody - public String startLesson(HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { + public String startLesson(HttpServletRequest request, HttpServletResponse response) throws IOException { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); try { monitoringService.startLesson(lessonId, getUserId()); @@ -238,8 +234,7 @@ */ @RequestMapping(path = "/renameLesson", method = RequestMethod.POST) @ResponseBody - public String renameLesson(HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { + public String renameLesson(HttpServletRequest request, HttpServletResponse response) throws IOException { long lessonId = WebUtil.readLongParam(request, "pk"); HttpSession ss = SessionManager.getSession(); @@ -574,7 +569,7 @@ * activities for this learner will complete to as end as possible. *

*/ - @RequestMapping("/forceComplete") + @RequestMapping(path = "/forceComplete", method = RequestMethod.POST) @ResponseBody public void forceComplete(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { @@ -978,7 +973,6 @@ * and all activities must be grouped. */ private boolean isTBLSequence(Long lessonId) { - Lesson lesson = lessonService.getLesson(lessonId); Long firstActivityId = lesson.getLearningDesign().getFirstActivity().getActivityId(); //Hibernate CGLIB is failing to load the first activity in the sequence as a ToolActivity @@ -1470,7 +1464,6 @@ /** * Checks if a complex activity or its descendats contain an activity with the given ID. */ - @SuppressWarnings("unchecked") private boolean containsActivity(ComplexActivity complexActivity, long targetActivityId, IMonitoringService monitoringService) { for (Activity childActivity : complexActivity.getActivities()) { @@ -1538,7 +1531,6 @@ @RequestMapping(path = "/presenceAvailable", method = RequestMethod.POST) public String presenceAvailable(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - Long lessonID = new Long(WebUtil.readLongParam(request, "lessonID")); Integer userID = getUserId(); Boolean presenceAvailable = WebUtil.readBooleanParam(request, "presenceAvailable", false); @@ -1579,9 +1571,7 @@ * Expects parameters lessonID and presenceAvailable. */ @RequestMapping(path = "/gradebookOnComplete", method = RequestMethod.POST) - public String gradebookOnComplete(HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - + public String gradebookOnComplete(HttpServletRequest request, HttpServletResponse response) throws IOException { Long lessonID = new Long(WebUtil.readLongParam(request, "lessonID")); Integer userID = getUserId(); Boolean gradebookOnComplete = WebUtil.readBooleanParam(request, "gradebookOnComplete", false); @@ -1596,8 +1586,7 @@ /** Open Time Chart display */ @RequestMapping("/viewTimeChart") - public String viewTimeChart(HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { + public String viewTimeChart(HttpServletRequest request, HttpServletResponse response) { try { long lessonID = WebUtil.readLongParam(request, "lessonID"); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/SequenceController.java =================================================================== diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/SequenceController.java (.../SequenceController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/SequenceController.java (.../SequenceController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -60,8 +60,7 @@ * Display the view screen. */ @RequestMapping("/sequence") - public String viewSequence(HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { + public String viewSequence(HttpServletRequest request, HttpServletResponse response) { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); long activityId = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID); @@ -71,8 +70,7 @@ } protected String viewSequence(SequenceActivity activity, Long lessonId, boolean useLocalFiles, - HttpServletRequest request, IMonitoringService monitoringService) throws IOException, ServletException { - + HttpServletRequest request, IMonitoringService monitoringService) { // in general the progress engine expects the activity and lesson id to be in the request, // so follow that standard. request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId()); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/TblMonitoringController.java =================================================================== diff -u -r47043f84205046a23497bf8c57060e2dcadf0c9a -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/TblMonitoringController.java (.../TblMonitoringController.java) (revision 47043f84205046a23497bf8c57060e2dcadf0c9a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/TblMonitoringController.java (.../TblMonitoringController.java) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,14 +1,12 @@ package org.lamsfoundation.lams.monitoring.web; -import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.TreeSet; -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; @@ -70,7 +68,7 @@ * Displays addStudent page. */ @RequestMapping("/start") - public String unspecified(HttpServletRequest request) throws Exception { + public String unspecified(HttpServletRequest request) { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); Lesson lesson = lessonService.getLesson(lessonId); request.setAttribute("lesson", lesson); @@ -85,8 +83,7 @@ * Shows Teams page */ @RequestMapping("/teams") - public String teams(HttpServletRequest request) throws IOException, ServletException { - + public String teams(HttpServletRequest request) { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); Lesson lesson = lessonService.getLesson(lessonId); @@ -172,7 +169,7 @@ * Shows Gates page */ @RequestMapping("/gates") - public String gates(HttpServletRequest request) throws IOException, ServletException { + public String gates(HttpServletRequest request) { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); List permissionGates = new ArrayList<>(); @@ -214,8 +211,7 @@ * Shows forum page */ @RequestMapping("/forum") - public String forum(HttpServletRequest request) throws IOException, ServletException { - + public String forum(HttpServletRequest request) { long forumActivityId = WebUtil.readLongParam(request, "activityId"); ToolActivity forumActivity = (ToolActivity) monitoringService.getActivityById(forumActivityId); @@ -232,8 +228,7 @@ * Shows peerreview page */ @RequestMapping("/peerreview") - public String peerreview(HttpServletRequest request) throws IOException, ServletException { - + public String peerreview(HttpServletRequest request) { long peerreviewActivityId = WebUtil.readLongParam(request, "activityId"); ToolActivity peerreviewActivity = (ToolActivity) monitoringService.getActivityById(peerreviewActivityId); @@ -250,7 +245,7 @@ * Shows sequence diagram page */ @RequestMapping("/sequence") - public String sequence(HttpServletRequest request) throws IOException, ServletException { + public String sequence(HttpServletRequest request) { long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); Lesson lesson = lessonService.getLesson(lessonId); request.setAttribute("lesson", lesson); @@ -260,9 +255,7 @@ /** * Returns lesson activities sorted by the learning design order. */ - @SuppressWarnings("unchecked") private List getLessonActivities(Lesson lesson) { - /* * Hibernate CGLIB is failing to load the first activity in the sequence as a ToolActivity for some mysterious * reason Causes a ClassCastException when you try to cast it, even if it is a ToolActivity. @@ -355,7 +348,6 @@ } private void setupAvailableActivityTypes(HttpServletRequest request, List activities) { - //check if there is Scratchie activity. It's used only in case of LKC TBL monitoring, when all assessment are treated as AEs boolean isScratchieAvailable = false; for (Activity activity : activities) { Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/FileUploadForm.java =================================================================== diff -u --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/FileUploadForm.java (revision 0) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/FileUploadForm.java (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -0,0 +1,68 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.monitoring.web.form; + +import org.springframework.web.multipart.MultipartFile; + +public class FileUploadForm { + + private static final long serialVersionUID = -2841551690414943725L; + + private Integer organisationID; + private Long lessonID; + private Long activityID; + private MultipartFile groupUploadFile; + + public Integer getOrganisationID() { + return organisationID; + } + + public void setOrganisationID(Integer organisationID) { + this.organisationID = organisationID; + } + + public Long getLessonID() { + return lessonID; + } + + public void setLessonID(Long lessonID) { + this.lessonID = lessonID; + } + + public Long getActivityID() { + return activityID; + } + + public void setActivityID(Long activityID) { + this.activityID = activityID; + } + + public MultipartFile getGroupUploadFile() { + return groupUploadFile; + } + + public void setGroupUploadFile(MultipartFile groupUploadFile) { + this.groupUploadFile = groupUploadFile; + } +} Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/GateForm.java =================================================================== diff -u --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/GateForm.java (revision 0) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/form/GateForm.java (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -0,0 +1,130 @@ +package org.lamsfoundation.lams.monitoring.web.form; + +import java.util.Collection; +import java.util.Date; + +import org.lamsfoundation.lams.learningdesign.GateActivity; + +public class GateForm { + + private GateActivity gate; + + private Long activityId; + + private Integer waitingLearners; + + private Integer totalLearners; + + private Date startingTime; + + private Date endingTime; + + private boolean activityCompletionBased; + + private Collection waitingLearnerList; + + private Collection forbiddenLearnerList; + + private Collection allowedToPassLearnerList; + + private String userId; + + private String scheduleDate; + + public GateActivity getGate() { + return gate; + } + + public void setGate(GateActivity gate) { + this.gate = gate; + } + + public Long getActivityId() { + return activityId; + } + + public void setActivityId(Long activityId) { + this.activityId = activityId; + } + + public Integer getWaitingLearners() { + return waitingLearners; + } + + public void setWaitingLearners(Integer waitingLearners) { + this.waitingLearners = waitingLearners; + } + + public Integer getTotalLearners() { + return totalLearners; + } + + public void setTotalLearners(Integer totalLearners) { + this.totalLearners = totalLearners; + } + + public Date getStartingTime() { + return startingTime; + } + + public void setStartingTime(Date startingTime) { + this.startingTime = startingTime; + } + + public Date getEndingTime() { + return endingTime; + } + + public void setEndingTime(Date endingTime) { + this.endingTime = endingTime; + } + + public boolean isActivityCompletionBased() { + return activityCompletionBased; + } + + public void setActivityCompletionBased(boolean activityCompletionBased) { + this.activityCompletionBased = activityCompletionBased; + } + + public Collection getWaitingLearnerList() { + return waitingLearnerList; + } + + public void setWaitingLearnerList(Collection waitingLearnerList) { + this.waitingLearnerList = waitingLearnerList; + } + + public Collection getForbiddenLearnerList() { + return forbiddenLearnerList; + } + + public void setForbiddenLearnerList(Collection forbiddenLearnerList) { + this.forbiddenLearnerList = forbiddenLearnerList; + } + + public Collection getAllowedToPassLearnerList() { + return allowedToPassLearnerList; + } + + public void setAllowedToPassLearnerList(Collection allowedToPassLearnerList) { + this.allowedToPassLearnerList = allowedToPassLearnerList; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getScheduleDate() { + return scheduleDate; + } + + public void setScheduleDate(String scheduleDate) { + this.scheduleDate = scheduleDate; + } + +} Index: lams_monitoring/web/403.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/403.jsp (.../403.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_monitoring/web/403.jsp (.../403.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,6 +1,5 @@ -<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> -<%@ taglib uri="tags-lams" prefix="lams"%> -<%@ taglib uri="tags-core" prefix="c" %> + +<%@ include file="/taglibs.jsp"%> \ No newline at end of file Index: lams_monitoring/web/404.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/404.jsp (.../404.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_monitoring/web/404.jsp (.../404.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,6 +1,5 @@ -<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> -<%@ taglib uri="tags-lams" prefix="lams"%> -<%@ taglib uri="tags-core" prefix="c" %> + +<%@ include file="/taglibs.jsp"%> Index: lams_monitoring/web/complexProgress.jsp =================================================================== diff -u -r54007f98ca71e0073f19c5db78536437123287c6 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/complexProgress.jsp (.../complexProgress.jsp) (revision 54007f98ca71e0073f19c5db78536437123287c6) +++ lams_monitoring/web/complexProgress.jsp (.../complexProgress.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -19,7 +19,6 @@ http://www.gnu.org/licenses/gpl.txt --%> - <%@ include file="/taglibs.jsp"%> Index: lams_monitoring/web/emailnotifications/archivedEmailList.jsp =================================================================== diff -u -re962cd60c6fc58a68e93516844801045ed956870 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/emailnotifications/archivedEmailList.jsp (.../archivedEmailList.jsp) (revision e962cd60c6fc58a68e93516844801045ed956870) +++ lams_monitoring/web/emailnotifications/archivedEmailList.jsp (.../archivedEmailList.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,5 +1,4 @@ - <%@ include file="/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.util.Configuration"%> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> Index: lams_monitoring/web/emailnotifications/courseNotifications.jsp =================================================================== diff -u -r328b2d5068eb7b9c271f43e55b3f19a05733312b -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/emailnotifications/courseNotifications.jsp (.../courseNotifications.jsp) (revision 328b2d5068eb7b9c271f43e55b3f19a05733312b) +++ lams_monitoring/web/emailnotifications/courseNotifications.jsp (.../courseNotifications.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,5 +1,4 @@ - <%@ include file="/taglibs.jsp"%> <% pageContext.setAttribute("newLineChar", "\n"); %> Index: lams_monitoring/web/emailnotifications/lessonNotifications.jsp =================================================================== diff -u -r328b2d5068eb7b9c271f43e55b3f19a05733312b -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/emailnotifications/lessonNotifications.jsp (.../lessonNotifications.jsp) (revision 328b2d5068eb7b9c271f43e55b3f19a05733312b) +++ lams_monitoring/web/emailnotifications/lessonNotifications.jsp (.../lessonNotifications.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,5 +1,4 @@ - <%@ include file="/taglibs.jsp"%> <% pageContext.setAttribute("newLineChar", "\n"); %> Index: lams_monitoring/web/error.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/error.jsp (.../error.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_monitoring/web/error.jsp (.../error.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,17 +1,10 @@ -<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> -<%@ taglib uri="tags-lams" prefix="lams"%> -<%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-fmt" prefix="fmt"%> + +<%@ include file="/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.util.Configuration" import="org.lamsfoundation.lams.util.ConfigurationKeys" %> + - - - - - - <%-- Catch JSP Servlet Exception --%> <%-- The javascript method checkForErrorScreen in error.js is coded to match this page exactly. ---- If you change this page, please change the javascript. --%> Index: lams_monitoring/web/gate/gateStatus.jsp =================================================================== diff -u -r54007f98ca71e0073f19c5db78536437123287c6 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/gate/gateStatus.jsp (.../gateStatus.jsp) (revision 54007f98ca71e0073f19c5db78536437123287c6) +++ lams_monitoring/web/gate/gateStatus.jsp (.../gateStatus.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -1,43 +1,41 @@ <%@ include file="/taglibs.jsp"%> - + - - - - - -

" />

-
-
- + + + + +

+ " /> +

+
+
-
-
-
- -
-
- - -   - - -   - - - - -
-
+
+
+ +
+
+ + +   + + +   + + + + +
+
-
Index: lams_monitoring/web/gate/openGateSingleUser.jsp =================================================================== diff -u -rf4b2d15065a1c5ff81fd15dc5efc0c02893a5c96 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision f4b2d15065a1c5ff81fd15dc5efc0c02893a5c96) +++ lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -32,51 +32,53 @@ } -
-

- - - +
+

+ + + + -
-
- -

-

-
- - - -
-
-
- " - onclick="javascript:allowUsers('forbidden')"/> -
-
-

-

-
- - - -
-
-
- " - onclick="javascript:allowUsers('waiting')"/> -
-
-

-
- - -
-
-
-
+
+
+

+

+
+ + + +
+
+ " + onclick="javascript:allowUsers('forbidden')"/> +
+ +
+

+

+
+ + + +
+
+
+ " + onclick="javascript:allowUsers('waiting')"/> +
+ +
+

+
+ + +
+
+
+
+
- + Index: lams_monitoring/web/gate/scheduleGateContent.jsp =================================================================== diff -u -rbaeb14be8e4c423b2e9ebe3a253c73499051f765 -r40de3afab4e8d589660daffb6efd6e568e87f8fa --- lams_monitoring/web/gate/scheduleGateContent.jsp (.../scheduleGateContent.jsp) (revision baeb14be8e4c423b2e9ebe3a253c73499051f765) +++ lams_monitoring/web/gate/scheduleGateContent.jsp (.../scheduleGateContent.jsp) (revision 40de3afab4e8d589660daffb6efd6e568e87f8fa) @@ -19,7 +19,6 @@ http://www.gnu.org/licenses/gpl.txt --%> - <%@ include file="/taglibs.jsp"%> @@ -31,7 +30,6 @@ -