Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java,v diff -u -r1.4 -r1.5 --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java 23 Jul 2008 04:46:02 -0000 1.4 +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java 24 Jul 2008 01:58:30 -0000 1.5 @@ -153,7 +153,7 @@ sessionMap.put(SpreadsheetConstants.ATTR_RESOURCE_INSTRUCTION,spreadsheet.getInstructions()); sessionMap.put(SpreadsheetConstants.ATTR_FINISH_LOCK, lock); sessionMap.put(SpreadsheetConstants.ATTR_LOCK_ON_FINISH, spreadsheet.getLockWhenFinished()); - sessionMap.put(SpreadsheetConstants.ATTR_USER_FINISHED, spreadsheetUser !=null && spreadsheetUser.isSessionFinished()); + sessionMap.put(SpreadsheetConstants.ATTR_USER_FINISHED, spreadsheetUser != null && spreadsheetUser.isSessionFinished()); sessionMap.put(AttributeNames.PARAM_TOOL_SESSION_ID,sessionId); sessionMap.put(AttributeNames.ATTR_MODE,mode); @@ -240,12 +240,13 @@ //get mode and ToolSessionID from sessionMAP ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); + boolean userFinished = (Boolean) sessionMap.get(SpreadsheetConstants.ATTR_USER_FINISHED); //save learner changes in spreadsheet if such option is activated in spreadsheet ISpreadsheetService service = getSpreadsheetService(); Spreadsheet spreadsheet = (Spreadsheet) sessionMap.get(SpreadsheetConstants.ATTR_RESOURCE); Spreadsheet spreadsheetPO = service.getSpreadsheetByContentId(spreadsheet.getContentId()); - if(spreadsheetPO.isLearnerAllowedToSave() && !mode.isTeacher()){ + if(spreadsheetPO.isLearnerAllowedToSave() && !mode.isTeacher() && !(spreadsheet.getLockWhenFinished() && userFinished)){ SpreadsheetUser spreadsheetUser = getCurrentUser(service,sessionId); UserModifiedSpreadsheet userModifiedSpreadsheet = new UserModifiedSpreadsheet(); Index: lams_tool_spreadsheet/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/web/pages/learning/learning.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_spreadsheet/web/pages/learning/learning.jsp 11 Jul 2008 08:19:55 -0000 1.2 +++ lams_tool_spreadsheet/web/pages/learning/learning.jsp 24 Jul 2008 01:58:30 -0000 1.3 @@ -127,7 +127,7 @@ scrolling="no"> - +