Index: lams_tool_lamc/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -rdc41ab1a82d32dfecca77a3db6936fe116c164b7 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision dc41ab1a82d32dfecca77a3db6936fe116c164b7) +++ lams_tool_lamc/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -234,6 +234,6 @@ outcome.authoring.existing.none =none warn.tool.output.change.none =This will delete all existing marks for this activity. Are you sure? output.desc.none =No score +label.edit.in.monitor.warning =Attention: while you edit this activity, students don't have access to it. You must save your changes, so students can re-attempt this activity again. - #======= End labels: Exported 228 labels for en AU ===== Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java =================================================================== diff -u -r8e218cf691c1235001bd61a9e6f62c363f62124a -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision 8e218cf691c1235001bd61a9e6f62c363f62124a) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -63,6 +63,10 @@ public static final String PASSMARK = "passMark"; public static final String VIEW_ANSWERS = "viewAnswers"; public static final String ATTR_SESSION_MAP_ID = "sessionMapId"; + /** + * It's used to signify edit in monitor when assessment has been attempted already + */ + public static final String ATTR_IS_AUTHORING_RESTRICTED = "isAuthoringRestricted"; /* Date time restriction */ public static final String ATTR_SUBMISSION_DEADLINE = "submissionDeadline"; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java (.../IMcUsrAttemptDAO.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java (.../IMcUsrAttemptDAO.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -113,6 +113,11 @@ * @return */ int getAttemptsCountPerOption(Long optionUid); + + /** + * Checks whether anyone has attempted this assessment. + */ + boolean isMcContentAttempted(Long mcContentUid); /** * Calculate what is the total mark scored by user in this activity. Only responseFinalised is taken into account. Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import org.hibernate.query.Query; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcUsrAttemptDAO; import org.lamsfoundation.lams.tool.mc.dto.ToolOutputDTO; @@ -168,6 +169,16 @@ } @Override + public boolean isMcContentAttempted(Long mcContentUid) { + final String IS_USER_ATTEMPT_EXIST_BY_MC_CONTENT = "select COUNT(*) > 0 FROM " + McUsrAttempt.class.getName() + + " AS attempt WHERE attempt.mcQueContent.mcContent.uid=:mcContentUid"; + + Query q = getSession().createQuery(IS_USER_ATTEMPT_EXIST_BY_MC_CONTENT, Boolean.class); + q.setParameter("mcContentUid", mcContentUid); + return q.uniqueResult(); + } + + @Override public List getLearnerMarksByContentId(Long toolContentId) { final String FIND_MARKS_FOR_CONTENT_ID = "SELECT user.queUsrId, user.lastAttemptTotalMark FROM " Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -97,6 +97,11 @@ */ int getAttemptsCountPerOption(Long optionUid); + /** + * Checks whether anyone has attempted this assessment. + */ + boolean isMcContentAttempted(Long mcContentUid); + void removeMcQueContent(McQueContent mcQueContent) throws McApplicationException; void saveOrUpdateMcQueContent(McQueContent mcQueContent); @@ -219,8 +224,7 @@ void changeUserAttemptMark(Long userAttemptUid, Integer newMark); - void recalculateUserAnswers(McContent content, Set oldQuestions, List questionDTOs, - List deletedQuestions); + void recalculateUserAnswers(McContent content, Set oldQuestions, List questionDTOs); /** * Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -465,6 +465,11 @@ public int getAttemptsCountPerOption(Long optionUid) { return mcUsrAttemptDAO.getAttemptsCountPerOption(optionUid); } + + @Override + public boolean isMcContentAttempted(Long mcContentUid) { + return mcUsrAttemptDAO.isMcContentAttempted(mcContentUid); + } @Override public List getAnswersFromDatabase(McContent mcContent, McQueUsr user) { @@ -780,49 +785,50 @@ } logEventService.logMarkChange(user.getQueUsrId(), user.getUsername(), toolContentId, "" + oldMark, "" + totalMark); - } } @Override public void recalculateUserAnswers(McContent content, Set oldQuestions, - List questionDTOs, List deletedQuestions) { - + List questionDTOs) { // create list of modified questions List modifiedQuestions = new ArrayList(); - // create list of modified question marks + // create list of questions where only mark was modified List modifiedQuestionsMarksOnly = new ArrayList(); + for (McQueContent oldQuestion : oldQuestions) { for (McQuestionDTO questionDTO : questionDTOs) { if (oldQuestion.getUid().equals(questionDTO.getUid())) { boolean isQuestionModified = false; boolean isQuestionMarkModified = false; - // question is different - if (!oldQuestion.getQuestion().equals(questionDTO.getQuestion())) { - isQuestionModified = true; - } + // question text is different - do nothing // mark is different - if (oldQuestion.getMark().intValue() != (new Integer(questionDTO.getMark())).intValue()) { + if (!oldQuestion.getMark().equals(Integer.valueOf(questionDTO.getMark()))) { isQuestionMarkModified = true; } - // options are different + // options are different (correct option got changed) Set oldOptions = oldQuestion.getMcOptionsContents(); List optionDTOs = questionDTO.getOptionDtos(); for (McOptsContent oldOption : oldOptions) { for (McOptionDTO optionDTO : optionDTOs) { if (oldOption.getUid().equals(optionDTO.getUid())) { - if (!StringUtils.equals(oldOption.getMcQueOptionText(), optionDTO.getCandidateAnswer()) - || (oldOption.isCorrectOption() != "Correct".equals(optionDTO.getCorrect()))) { + if (oldOption.isCorrectOption() != "Correct".equals(optionDTO.getCorrect())) { isQuestionModified = true; + break; } } } } + + // a new option is added + if (oldOptions.size() != optionDTOs.size()) { + isQuestionModified = true; + } if (isQuestionModified) { modifiedQuestions.add(questionDTO); @@ -849,65 +855,59 @@ Iterator iter = userAttempts.iterator(); while (iter.hasNext()) { McUsrAttempt userAttempt = iter.next(); - McQueContent question = userAttempt.getMcQueContent(); + Integer oldUserMark = userAttempt.getMark(); - boolean isRemoveQuestionResult = false; - // [+] if the question mark is modified for (McQuestionDTO modifiedQuestion : modifiedQuestionsMarksOnly) { if (question.getUid().equals(modifiedQuestion.getUid())) { - Integer newQuestionMark = new Integer(modifiedQuestion.getMark()); + Integer newQuestionMark = Integer.valueOf(modifiedQuestion.getMark()); Integer oldQuestionMark = question.getMark(); Integer newActualMark = (userAttempt.getMark() * newQuestionMark) / oldQuestionMark; - newTotalMark += newActualMark - userAttempt.getMark(); - // update question answer's mark userAttempt.setMark(newActualMark); mcUsrAttemptDAO.saveMcUsrAttempt(userAttempt); + newTotalMark += newActualMark - oldUserMark; + break; } - } // [+] if the question is modified for (McQuestionDTO modifiedQuestion : modifiedQuestions) { if (question.getUid().equals(modifiedQuestion.getUid())) { - isRemoveQuestionResult = true; - break; - } - } + + //check whether user has selected correct answer, taking into account changes done to modifiedQuestion + boolean isAnswerCorrect = false; + McOptsContent selectedOption = userAttempt.getMcOptionsContent(); + for (McOptionDTO modifiedOption : modifiedQuestion.getOptionDtos()) { + if (selectedOption.getUid().equals(modifiedOption.getUid())) { + isAnswerCorrect = "Correct".equals(modifiedOption.getCorrect()); + } + } + + //recalculate mark + Integer newActualMark = isAnswerCorrect ? Integer.valueOf(modifiedQuestion.getMark()) : 0; + boolean passed = user.isMarkPassed(newActualMark); + userAttempt.setMark(newActualMark); + userAttempt.setPassed(passed); + userAttempt.setAttemptCorrect(isAnswerCorrect); + mcUsrAttemptDAO.saveMcUsrAttempt(userAttempt); + + newTotalMark += newActualMark - oldUserMark; - // [+] if the question was removed - for (McQuestionDTO deletedQuestion : deletedQuestions) { - if (question.getUid().equals(deletedQuestion.getUid())) { - isRemoveQuestionResult = true; break; } } - - if (isRemoveQuestionResult) { - - Integer oldMark = userAttempt.getMark(); - if (oldMark != null) { - newTotalMark -= oldMark; - } - - iter.remove(); - mcUsrAttemptDAO.removeAttempt(userAttempt); - } - - // [+] doing nothing if the new question was added - } // if the mark is changed, update user's lastAttemptTotalMark and also propagade it to the Gradebook if (newTotalMark != oldTotalMark) { user.setLastAttemptTotalMark(newTotalMark); updateMcQueUsr(user); - toolService.updateActivityMark(new Double(newTotalMark), null, user.getQueUsrId().intValue(), + toolService.updateActivityMark(Double.valueOf(newTotalMark), null, user.getQueUsrId().intValue(), toolSessionId, false); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/AuthoringUtil.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/AuthoringUtil.java (.../AuthoringUtil.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/util/AuthoringUtil.java (.../AuthoringUtil.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -22,6 +22,7 @@ package org.lamsfoundation.lams.tool.mc.util; +import java.sql.Timestamp; import java.util.Date; import java.util.Iterator; import java.util.LinkedList; @@ -33,6 +34,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.mc.McAppConstants; import org.lamsfoundation.lams.tool.mc.dto.McOptionDTO; import org.lamsfoundation.lams.tool.mc.dto.McQuestionDTO; @@ -51,7 +53,6 @@ * @author Ozgur Demirtas */ public class AuthoringUtil { - private static Logger logger = Logger.getLogger(AuthoringUtil.class.getName()); /** * extractCandidateAtOrder @@ -73,8 +74,8 @@ /** * persisting content. */ - public static McContent saveOrUpdateMcContent(IMcService mcService, HttpServletRequest request, McContent mcContent, - String strToolContentID, List questionDTOs) { + public static McContent saveOrUpdateMcContent(IMcService mcService, HttpServletRequest request, ToolAccessMode mode, + McContent mcContent, Long toolContentID, List questionDTOs) { UserDTO toolUser = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER); String richTextTitle = request.getParameter(McAppConstants.TITLE); @@ -162,9 +163,15 @@ if (mcContent == null) { mcContent = new McContent(); newContent = true; + + } else { + // if it is a Teacher mode (i.e. request comes from monitor) - change define later status + if (mode.isTeacher()) { + mcContent.setDefineLater(false); + } } - mcContent.setMcContentId(new Long(strToolContentID)); + mcContent.setMcContentId(toolContentID); mcContent.setTitle(richTextTitle); mcContent.setInstructions(richTextInstructions); mcContent.setUpdateDate(new Date(System.currentTimeMillis())); @@ -214,7 +221,7 @@ mcService.updateMc(mcContent); } - mcContent = mcService.getMcContent(new Long(strToolContentID)); + mcContent = mcService.getMcContent(new Long(toolContentID)); return mcContent; } @@ -225,7 +232,7 @@ public static List buildDefaultQuestions(McContent mcContent) { List questionDtos = new LinkedList(); - Long mapIndex = new Long(1); + Long mapIndex = 1L; for (McQueContent question : (Set) mcContent.getMcQueContents()) { McQuestionDTO questionDto = new McQuestionDTO(); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McController.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McController.java (.../McController.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McController.java (.../McController.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -135,9 +135,12 @@ List listDeletedQuestionDTOs = new ArrayList<>(); sessionMap.put(McAppConstants.LIST_DELETED_QUESTION_DTOS, listDeletedQuestionDTOs); + + boolean isMcContentAttempted = mcContent.getUid() == null ? false + : mcService.isMcContentAttempted(mcContent.getUid()); + sessionMap.put(McAppConstants.ATTR_IS_AUTHORING_RESTRICTED, isMcContentAttempted && mode.isTeacher()); return "authoring/AuthoringTabsHolder"; - } /** @@ -151,11 +154,11 @@ SessionMap sessionMap = (SessionMap) request.getSession() .getAttribute(sessionMapId); request.setAttribute(McAppConstants.ATTR_SESSION_MAP_ID, sessionMapId); + ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); - String strToolContentID = (String) sessionMap.get(AttributeNames.PARAM_TOOL_CONTENT_ID); + Long toolContentID = Long.parseLong((String) sessionMap.get(AttributeNames.PARAM_TOOL_CONTENT_ID)); List questionDTOs = (List) sessionMap.get(McAppConstants.QUESTION_DTOS); - McContent mcContent = mcService.getMcContent(new Long(strToolContentID)); - ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); + McContent mcContent = mcService.getMcContent(toolContentID); List deletedQuestionDTOs = (List) sessionMap .get(McAppConstants.LIST_DELETED_QUESTION_DTOS); @@ -167,17 +170,17 @@ return "authoring/AuthoringTabsHolder"; } - // in case request is from monitoring module - prepare for recalculate User Answers - if (mode.isTeacher()) { + //recalculate results in case content is edited from monitoring and it's been already attempted by a student + boolean isAuthoringRestricted = (boolean) sessionMap.get(McAppConstants.ATTR_IS_AUTHORING_RESTRICTED); + if (isAuthoringRestricted) { Set oldQuestions = mcContent.getMcQueContents(); mcService.releaseQuestionsFromCache(mcContent); - mcService.setDefineLater(strToolContentID, false); // audit log the teacher has started editing activity in monitor - mcService.auditLogStartEditingActivityInMonitor(new Long(strToolContentID)); + mcService.auditLogStartEditingActivityInMonitor(toolContentID); // recalculate User Answers - mcService.recalculateUserAnswers(mcContent, oldQuestions, questionDTOs, deletedQuestionDTOs); + mcService.recalculateUserAnswers(mcContent, oldQuestions, questionDTOs); } // remove deleted questions @@ -195,9 +198,9 @@ mcService.removeMcQueContent(removeableQuestion); } } - + // store content - mcContent = AuthoringUtil.saveOrUpdateMcContent(mcService, request, mcContent, strToolContentID, questionDTOs); + mcContent = AuthoringUtil.saveOrUpdateMcContent(mcService, request, mode, mcContent, toolContentID, questionDTOs); // store questions mcContent = mcService.createQuestions(questionDTOs, mcContent); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java (.../McLearningController.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java (.../McLearningController.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -71,7 +71,6 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.context.WebApplicationContext; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -92,9 +91,6 @@ @Qualifier("lamcMessageService") private static MessageService messageService; - @Autowired - private WebApplicationContext applicationContext; - @RequestMapping("/displayMc") public String displayMc(@ModelAttribute McLearningForm mcLearningForm, HttpServletRequest request, HttpServletResponse response) throws IOException { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java (.../McMonitoringController.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java (.../McMonitoringController.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -94,9 +94,6 @@ @Qualifier("lamcMessageService") private static MessageService messageService; - @Autowired - private WebApplicationContext applicationContext; - @RequestMapping("/monitoring") public String execute(HttpServletRequest request) { Index: lams_tool_lamc/web/authoring/BasicContent.jsp =================================================================== diff -u -r8b62ea3bfd10cb4304b5114c1060cac04242435a -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/web/authoring/BasicContent.jsp (.../BasicContent.jsp) (revision 8b62ea3bfd10cb4304b5114c1060cac04242435a) +++ lams_tool_lamc/web/authoring/BasicContent.jsp (.../BasicContent.jsp) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -1,5 +1,6 @@ <%@ include file="/common/taglibs.jsp"%> + + + + + + +
@@ -65,13 +72,15 @@
<%@ include file="/authoring/itemlist.jsp"%>
- -

- -   - -

- + + +

+ +   + +

+
+ Index: lams_tool_lamc/web/authoring/candidateAnswersList.jsp =================================================================== diff -u -raced7ba6c1e7c5a9a50d3f64d8cdd96dd7e76194 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/web/authoring/candidateAnswersList.jsp (.../candidateAnswersList.jsp) (revision aced7ba6c1e7c5a9a50d3f64d8cdd96dd7e76194) +++ lams_tool_lamc/web/authoring/candidateAnswersList.jsp (.../candidateAnswersList.jsp) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -1,46 +1,44 @@ <%@ include file="/common/taglibs.jsp" %> + - - - - - - ${candidateIndex} - - - ${mcAuthoringForm.candidateIndex} - - - - - - - + + + + + ${candidateIndex} + + + ${mcAuthoringForm.candidateIndex} + + + - - + + - - +
- -
+ + - + - + - - + + - - + + + - + - + + + - - -
+ + - - + + - + -
+
@@ -74,10 +72,13 @@ - + +
+ + + Index: lams_tool_lamc/web/authoring/editQuestionBox.jsp =================================================================== diff -u -r5cc2f28c0fd508cf034496ad94d4892c373431f1 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/web/authoring/editQuestionBox.jsp (.../editQuestionBox.jsp) (revision 5cc2f28c0fd508cf034496ad94d4892c373431f1) +++ lams_tool_lamc/web/authoring/editQuestionBox.jsp (.../editQuestionBox.jsp) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -3,13 +3,13 @@ + <%@ include file="/common/header.jsp"%> - - Index: lams_tool_lamc/web/authoring/itemlist.jsp =================================================================== diff -u -r9e395fca5d7eb4a5ac4c9768642a336723a950f7 -r6ec43132d9df310eebff50fac6fca9f095757bd7 --- lams_tool_lamc/web/authoring/itemlist.jsp (.../itemlist.jsp) (revision 9e395fca5d7eb4a5ac4c9768642a336723a950f7) +++ lams_tool_lamc/web/authoring/itemlist.jsp (.../itemlist.jsp) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) @@ -1,6 +1,7 @@ <%@ include file="/common/taglibs.jsp"%> +
@@ -9,9 +10,11 @@
- - - + + + + + @@ -82,9 +85,11 @@ - - " onclick="removeQuestion(${queIndex});"> - + + + " onclick="removeQuestion(${queIndex});"> + +