Index: lams_tool_assessment/build.properties =================================================================== diff -u -rdf5031224eb701a152c791bc8b4f4dee76fa1833 -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/build.properties (.../build.properties) (revision df5031224eb701a152c791bc8b4f4dee76fa1833) +++ lams_tool_assessment/build.properties (.../build.properties) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -13,7 +13,7 @@ weblib=lib #project version -tool.version=20100225 +tool.version=20110413 # hide tool option hideTool=false Index: lams_tool_assessment/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r02b7745104a10404abfeea41af4de53017b6475d -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 02b7745104a10404abfeea41af4de53017b6475d) +++ lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -240,6 +240,10 @@ + + Index: lams_tool_assessment/db/sql/create_lams_tool_assessment.sql =================================================================== diff -u -rdf5031224eb701a152c791bc8b4f4dee76fa1833 -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision df5031224eb701a152c791bc8b4f4dee76fa1833) +++ lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -24,6 +24,7 @@ uid bigint not null auto_increment, create_date datetime, update_date datetime, + submission_deadline datetime, create_by bigint, title varchar(255), run_offline tinyint, Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java =================================================================== diff -u -rd1fb6f5b85de6067a1d2f5dcb5ebf051de581e63 -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision d1fb6f5b85de6067a1d2f5dcb5ebf051de581e63) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -192,6 +192,10 @@ public static final String ATTR_QUESTION_NUMBERING_OFFSET = "questionNumberingOffset"; + public static final String ATTR_SUBMISSION_DEADLINE = "submissionDeadline"; + + public static final String ATTR_IS_SUBMISSION_DEADLINE_PASSED = "isSubmissionDeadlinePassed"; + public static final String ATTR_IS_GROUPED_ACTIVITY = "isGroupedActivity"; // error message keys Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20110413_updateTo236.sql =================================================================== diff -u --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20110413_updateTo236.sql (revision 0) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20110413_updateTo236.sql (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -0,0 +1,15 @@ +-- SQL statements to update to LAMS 2.3.6 + +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; + +----------------------Put all sql statements below here------------------------- + +-- LDEV-2657 Date and time restriction +ALTER TABLE tl_laasse10_assessment ADD COLUMN submission_deadline DATETIME DEFAULT null; + +----------------------Put all sql statements above here------------------------- + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.hbm.xml =================================================================== diff -u -rdf5031224eb701a152c791bc8b4f4dee76fa1833 -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.hbm.xml (.../Assessment.hbm.xml) (revision df5031224eb701a152c791bc8b4f4dee76fa1833) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.hbm.xml (.../Assessment.hbm.xml) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -41,6 +41,14 @@ column="update_date" /> + + questionList = new TreeSet(new SequencableComparator()); if (questionsFromDB != null) { @@ -320,7 +337,7 @@ sessionMap.put(AssessmentConstants.ATTR_FINISHED_LOCK, true); request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID); return mapping.findForward(AssessmentConstants.SUCCESS); - } + } /** * Display same entire authoring page content from HttpSession variable. Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java =================================================================== diff -u -rd1fb6f5b85de6067a1d2f5dcb5ebf051de581e63 -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision d1fb6f5b85de6067a1d2f5dcb5ebf051de581e63) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -31,11 +31,13 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Set; +import java.util.TimeZone; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import jxl.JXLException; @@ -61,7 +63,10 @@ import org.lamsfoundation.lams.tool.assessment.model.AssessmentUser; import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService; import org.lamsfoundation.lams.tool.assessment.util.AssessmentExportXLSUtil; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.web.context.WebApplicationContext; @@ -95,6 +100,9 @@ if (param.equals("saveUserGrade")) { return saveUserGrade(mapping, form, request, response); } + if (param.equals("setSubmissionDeadline")) { + return setSubmissionDeadline(mapping, form, request, response); + } if (param.equals("exportSummary")) { return exportSummary(mapping, form, request, response); } @@ -115,6 +123,16 @@ Assessment assessment = service.getAssessmentByContentId(contentId); assessment.toDTO(); + + //set SubmissionDeadline, if any + if (assessment.getSubmissionDeadline() != null) { + Date submissionDeadline = assessment.getSubmissionDeadline(); + HttpSession ss = SessionManager.getSession(); + UserDTO teacher = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone teacherTimeZone = teacher.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(teacherTimeZone, submissionDeadline); + request.setAttribute(AssessmentConstants.ATTR_SUBMISSION_DEADLINE, tzSubmissionDeadline.getTime()); + } // cache into sessionMap boolean isGroupedActivity = service.isGroupedActivity(contentId); @@ -186,7 +204,38 @@ return null; } + + /** + * Set Submission Deadline + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + private ActionForward setSubmissionDeadline(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + service = getAssessmentService(); + + Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Assessment assessment = service.getAssessmentByContentId(contentID); + + Long dateParameter = WebUtil.readLongParam(request, AssessmentConstants.ATTR_SUBMISSION_DEADLINE, true); + Date tzSubmissionDeadline = null; + if (dateParameter != null) { + Date submissionDeadline = new Date(dateParameter); + HttpSession ss = SessionManager.getSession(); + UserDTO teacher = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone teacherTimeZone = teacher.getTimeZone(); + tzSubmissionDeadline = DateUtil.convertFromTimeZoneToDefault(teacherTimeZone, submissionDeadline); + } + assessment.setSubmissionDeadline(tzSubmissionDeadline); + service.saveOrUpdateAssessment(assessment); + return null; + } + /** * Export Excel format survey data. * Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== diff -u -r02b7745104a10404abfeea41af4de53017b6475d -r9727106bb7f305a094b00c9a0b29a09dee57990b --- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 02b7745104a10404abfeea41af4de53017b6475d) +++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) @@ -154,6 +154,14 @@

+ +
+ + + +
+
+