Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringController.java =================================================================== diff -u -r164c032372fe265498f5492088122cc0e7df6058 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 164c032372fe265498f5492088122cc0e7df6058) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringController.java (.../AuthoringController.java) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -454,10 +454,6 @@ /** * Display edit page for existed taskList item. - * - * @param taskListForm - * @param request - * @return */ @RequestMapping("editItemInit") public String editItemInit(@ModelAttribute TaskListItemForm taskListItemForm, HttpServletRequest request) { @@ -487,17 +483,11 @@ * is not persist them into database, just save HttpSession * temporarily. Only they will be persist when the entire authoring page is * being persisted. - * - * @param form - * @param request - * @return - * @throws ServletException */ @RequestMapping(path = "/saveOrUpdateItem", method = RequestMethod.POST) public String saveOrUpdateItem(@ModelAttribute TaskListItemForm taskListItemForm, HttpServletRequest request) { - MultiValueMap errorMap = new LinkedMultiValueMap<>(); - errorMap = validateTaskListItem(taskListItemForm); + MultiValueMap errorMap = validateTaskListItem(taskListItemForm); if (!errorMap.isEmpty()) { request.setAttribute("errorMap", errorMap); @@ -773,7 +763,7 @@ MultiValueMap errorMap = new LinkedMultiValueMap<>(); if (StringUtils.isBlank(itemForm.getTitle())) { - errorMap.add("GLOBAL", TaskListConstants.ERROR_MSG_TITLE_BLANK); + errorMap.add("GLOBAL", messageService.getMessage("error.resource.item.title.blank")); } return errorMap; } @@ -790,9 +780,9 @@ @RequestMapping(path = "/saveOrUpdatePedagogicalPlannerForm", method = RequestMethod.POST) public String saveOrUpdatePedagogicalPlannerForm(@ModelAttribute TaskListPedagogicalPlannerForm plannerForm, HttpServletRequest request) throws IOException { - - MultiValueMap errorMap = new LinkedMultiValueMap<>(); - errorMap = plannerForm.validate(); + + MultiValueMap errorMap = plannerForm.validate(); + if (!errorMap.isEmpty()) { TaskList taskList = taskListService.getTaskListByContentId(plannerForm.getToolContentID()); Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringTaskListConditionController.java =================================================================== diff -u -r164c032372fe265498f5492088122cc0e7df6058 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringTaskListConditionController.java (.../AuthoringTaskListConditionController.java) (revision 164c032372fe265498f5492088122cc0e7df6058) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/AuthoringTaskListConditionController.java (.../AuthoringTaskListConditionController.java) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -36,17 +36,23 @@ import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; +import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.taskList.TaskListConstants; import org.lamsfoundation.lams.tool.taskList.model.TaskListCondition; import org.lamsfoundation.lams.tool.taskList.model.TaskListItem; import org.lamsfoundation.lams.tool.taskList.util.TaskListConditionComparator; import org.lamsfoundation.lams.tool.taskList.util.TaskListItemComparator; import org.lamsfoundation.lams.tool.taskList.web.form.TaskListConditionForm; import org.lamsfoundation.lams.tool.taskList.web.form.TaskListForm; +import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; -import org.springframework.validation.Errors; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; @@ -62,6 +68,10 @@ @RequestMapping("/authoringCondition") public class AuthoringTaskListConditionController { + @Autowired + @Qualifier("lataskMessageService") + private MessageService messageService; + /** * Display same entire authoring page content from HttpSession variable. */ @@ -131,11 +141,12 @@ * persisted. */ @RequestMapping("/saveOrUpdateCondition") - public String saveOrUpdateCondition(@ModelAttribute TaskListConditionForm taskListConditionForm, Errors errors, + public String saveOrUpdateCondition(@ModelAttribute TaskListConditionForm taskListConditionForm, HttpServletRequest request) { - validateTaskListCondition(taskListConditionForm, errors, request); - if (errors.hasErrors()) { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); + validateTaskListCondition(taskListConditionForm, request); + if (!errorMap.isEmpty()) { populateFormWithPossibleItems(taskListConditionForm, request); return "pages/authoring/parts/addcondition"; } @@ -144,8 +155,8 @@ extractFormToTaskListCondition(request, taskListConditionForm); } catch (Exception e) { // any upload exception will display as normal error message rather then throw exception directly - errors.reject(e.getMessage()); - if (errors.hasErrors()) { + errorMap.add("GLOBAL", messageService.getMessage("error.upload.faile")); + if (!errorMap.isEmpty()) { populateFormWithPossibleItems(taskListConditionForm, request); return "pages/authoring/parts/addcondition"; } @@ -381,14 +392,14 @@ /** * Validate taskListCondition */ - private void validateTaskListCondition(TaskListConditionForm taskListConditionForm, Errors errors, - HttpServletRequest request) { + private void validateTaskListCondition(TaskListConditionForm taskListConditionForm, HttpServletRequest request) { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); String formConditionName = taskListConditionForm.getName(); if (StringUtils.isBlank(formConditionName)) { - errors.reject(TaskListConstants.ERROR_MSG_NAME_BLANK); + errorMap.add("GLOBAL", messageService.getMessage("error.condition.name.blank")); } else if (StringUtils.contains(formConditionName, '#')) { - errors.reject(TaskListConstants.ERROR_MSG_NAME_CONTAINS_WRONG_SYMBOL); + errorMap.add("GLOBAL", messageService.getMessage("error.condition.name.contains.wrong.symbol")); } else { String formConditionSequenceId = taskListConditionForm.getSequenceId(); @@ -400,7 +411,8 @@ for (TaskListCondition condition : conditionList) { if (formConditionName.equals(condition.getName()) && !formConditionSequenceId.equals((new Integer(condition.getSequenceId() - 1)).toString())) { - errors.reject(TaskListConstants.ERROR_MSG_NAME_DUPLICATED); + errorMap.add("GLOBAL", "error.condition.duplicated.name"); + ; break; } } @@ -409,9 +421,27 @@ // should be selected at least one TaskListItem String[] selectedItems = taskListConditionForm.getSelectedItems(); if (selectedItems == null || selectedItems.length == 0) { - errors.reject(TaskListConstants.ERROR_MSG_NO_TASK_LIST_ITEMS); + errorMap.add("GLOBAL", "error.condition.no.tasklistitems.selected"); } } + private MultiValueMap validate(TaskListForm taskListForm, HttpServletRequest request) { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); + // if (StringUtils.isBlank(taskListForm.getTaskList().getTitle())) { + // ActionMessage error = new ActionMessage("error.resource.item.title.blank"); + // errors.add(ActionMessages.GLOBAL_MESSAGE, error); + // } + + // define it later mode(TEACHER) skip below validation. + String modeStr = request.getParameter(AttributeNames.ATTR_MODE); + if (StringUtils.equals(modeStr, ToolAccessMode.TEACHER.toString())) { + return errorMap; + } + + // Some other validation outside basic Tab. + + return errorMap; + } + } Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java =================================================================== diff -u -r1cd70f70a558b132cd8142d85edf0979a7883400 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java (.../LearningController.java) (revision 1cd70f70a558b132cd8142d85edf0979a7883400) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java (.../LearningController.java) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -76,7 +76,6 @@ 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; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.multipart.MultipartFile; @@ -380,8 +379,7 @@ } if (!validateBeforeFinish(request, sessionMapID)) { - return "redirect:/"; - // getInputForward + return "/pages/learning/learning"; } // get sessionId from HttpServletRequest @@ -422,8 +420,7 @@ SessionMap sessionMap = (SessionMap) request.getSession() .getAttribute(sessionMapID); - MultiValueMap errorMap = new LinkedMultiValueMap<>(); - errorMap = validateTaskListItem(taskListItemForm); + MultiValueMap errorMap = validateTaskListItem(taskListItemForm); if (!errorMap.isEmpty()) { request.setAttribute("errorMap", errorMap); @@ -508,16 +505,16 @@ * Uploads specified file to repository and associates it with current TaskListItem. */ @RequestMapping(path = "/uploadFile", method = RequestMethod.POST) - public String uploadFile(@ModelAttribute TaskListItemForm taskListItemForm, - @RequestParam("file") MultipartFile file, HttpServletRequest request) throws UploadTaskListFileException { + public String uploadFile(@ModelAttribute TaskListItemForm taskListItemForm, HttpServletRequest request) + throws UploadTaskListFileException { String mode = request.getParameter(AttributeNames.ATTR_MODE); SessionMap sessionMap = (SessionMap) request.getSession() .getAttribute(taskListItemForm.getSessionMapID()); request.setAttribute(TaskListConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); Long sessionId = (Long) sessionMap.get(TaskListConstants.ATTR_TOOL_SESSION_ID); - file = taskListItemForm.getUploadedFile(); + MultipartFile file = taskListItemForm.getUploadedFile(); if (file == null || StringUtils.isBlank(file.getName())) { return "pages/learning/learning"; @@ -565,7 +562,7 @@ String sessionMapID = WebUtil.readStrParam(request, TaskListConstants.ATTR_SESSION_MAP_ID); if (!validateBeforeFinish(request, sessionMapID)) { - return "redirect:/"; + return "pages/learning/learning"; } HttpSession ss = SessionManager.getSession(); @@ -652,7 +649,7 @@ MultiValueMap errorMap = new LinkedMultiValueMap<>(); if (StringUtils.isBlank(itemForm.getTitle())) { - errorMap.add("GLOBAL", TaskListConstants.ERROR_MSG_TITLE_BLANK); + errorMap.add("GLOBAL", messageService.getMessage("error.resource.item.title.blank")); } return errorMap; } @@ -671,7 +668,7 @@ // if current user view less than reqired view count number, then just return error message. if ((minimumNumberTasks - numberCompletedTasks) > 0) { MultiValueMap errorMap = new LinkedMultiValueMap<>(); - errorMap.add("GLOBAL", "lable.learning.minimum.view.number"); + errorMap.add("GLOBAL", messageService.getMessage("lable.learning.minimum.view.number")); request.setAttribute("errorMap", errorMap); return false; } Index: lams_tool_task/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) +++ lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -4,6 +4,7 @@ <%@ taglib uri="tags-lams" prefix="lams"%> <%@ attribute name="type" required="true" rtexprvalue="true"%> +<%@ attribute name="formID" required="false" rtexprvalue="true"%> <%@ attribute name="style" required="false" rtexprvalue="true"%> <%@ attribute name="title" required="false" rtexprvalue="true"%> <%@ attribute name="titleHelpURL" required="false" rtexprvalue="true"%> @@ -88,8 +89,8 @@ - - + + ${toolForm.toolSessionID} @@ -434,4 +435,4 @@ - + \ No newline at end of file Index: lams_tool_task/web/WEB-INF/tags/TextSearch.tag =================================================================== diff -u -r74467b8916b85a9d0376e4c2d8f7deaf4511450c -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/WEB-INF/tags/TextSearch.tag (.../TextSearch.tag) (revision 74467b8916b85a9d0376e4c2d8f7deaf4511450c) +++ lams_tool_task/web/WEB-INF/tags/TextSearch.tag (.../TextSearch.tag) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -32,12 +32,11 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams" %> -<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%-- Required attributes --%> <%@ attribute name="sessionMapID" required="true" rtexprvalue="true" %> -<%@ attribute name="wrapInFormTag" required="true" rtexprvalue="true" %> <%-- Optional attributes --%> <%@ attribute name="action" required="false" rtexprvalue="true" %> @@ -53,10 +52,10 @@ <%-- Default value for message key --%> - + - + @@ -85,52 +84,40 @@ - - - - -

- - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
- - - - - - - - - + +

+ + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
\ No newline at end of file Index: lams_tool_task/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -r60d9a173d5590295376322fc3e857ae2dca37717 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision 60d9a173d5590295376322fc3e857ae2dca37717) +++ lams_tool_task/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -212,192 +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 User Portrait Fisheye: Tag f33abf1a2f52fc5a168127033f927174d83a2124 refers to a dead (removed) revision in file `lams_tool_task/web/WEB-INF/validation.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_task/web/common/messages.jsp =================================================================== diff -u -r164c032372fe265498f5492088122cc0e7df6058 -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/common/messages.jsp (.../messages.jsp) (revision 164c032372fe265498f5492088122cc0e7df6058) +++ lams_tool_task/web/common/messages.jsp (.../messages.jsp) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -7,11 +7,3 @@
-<%-- Success Messages - - - - - - ---%> - Index: lams_tool_task/web/pages/authoring/authoring.jsp =================================================================== diff -u -re4625a3ec2ff39bfe424a857788a54497ff64b7a -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision e4625a3ec2ff39bfe424a857788a54497ff64b7a) +++ lams_tool_task/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -72,7 +72,8 @@ - + + Index: lams_tool_task/web/pages/learning/learning.jsp =================================================================== diff -u -re4625a3ec2ff39bfe424a857788a54497ff64b7a -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/pages/learning/learning.jsp (.../learning.jsp) (revision e4625a3ec2ff39bfe424a857788a54497ff64b7a) +++ lams_tool_task/web/pages/learning/learning.jsp (.../learning.jsp) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -112,7 +112,7 @@ - + Index: lams_tool_task/web/pages/learning/parts/addtask.jsp =================================================================== diff -u -r74467b8916b85a9d0376e4c2d8f7deaf4511450c -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/pages/learning/parts/addtask.jsp (.../addtask.jsp) (revision 74467b8916b85a9d0376e4c2d8f7deaf4511450c) +++ lams_tool_task/web/pages/learning/parts/addtask.jsp (.../addtask.jsp) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -28,8 +28,8 @@ - - + +
Index: lams_tool_task/web/pages/learning/parts/notebook.jsp =================================================================== diff -u -r74467b8916b85a9d0376e4c2d8f7deaf4511450c -rf33abf1a2f52fc5a168127033f927174d83a2124 --- lams_tool_task/web/pages/learning/parts/notebook.jsp (.../notebook.jsp) (revision 74467b8916b85a9d0376e4c2d8f7deaf4511450c) +++ lams_tool_task/web/pages/learning/parts/notebook.jsp (.../notebook.jsp) (revision f33abf1a2f52fc5a168127033f927174d83a2124) @@ -22,7 +22,7 @@ - + <%@ include file="/common/messages.jsp"%>