Index: lams_tool_doku/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r0b845931db55d90f0dcabc0b33cce5c7df688153 -r8e8e7b3f0982e5e772b90202f01d43f1ee52962d --- lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 0b845931db55d90f0dcabc0b33cce5c7df688153) +++ lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 8e8e7b3f0982e5e772b90202f01d43f1ee52962d) @@ -74,6 +74,7 @@ label.pad.started.fixing = Please wait. Pad is getting recreated now. label.pad.fixed = Pad has been successfully created. Please refresh the page to see its content. label.time.limit = Time limit (minutes) +label.time.limit.manual.start = Start time limit manually on monitoring screen label.plus.one.minute = +1 minute label.start.activity = Start activity label.started.activity = Activity has been started Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210105.sql =================================================================== diff -u --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210105.sql (revision 0) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210105.sql (revision 8e8e7b3f0982e5e772b90202f01d43f1ee52962d) @@ -0,0 +1,15 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +-- Put all sql statements below here + +--LDEV-5141 Add column for time limit manual/automatic start + +ALTER TABLE tl_ladoku11_dokumaran ADD COLUMN time_limit_manual_start TINYINT NOT NULL DEFAULT 0 AFTER time_limit; + +-- Put all sql statements above here + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java =================================================================== diff -u -r3db92c115d59863057a7e6bad8126d1cd1b319ee -r8e8e7b3f0982e5e772b90202f01d43f1ee52962d --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java (.../Dokumaran.java) (revision 3db92c115d59863057a7e6bad8126d1cd1b319ee) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java (.../Dokumaran.java) (revision 8e8e7b3f0982e5e772b90202f01d43f1ee52962d) @@ -79,6 +79,9 @@ @Column(name = "time_limit") private int timeLimit; + @Column(name = "time_limit_manual_start") + private boolean timeLimitManualStart; + //date when teacher has started time counter (pressed start button) @Column(name = "time_limit_launched_date") private Date timeLimitLaunchedDate; @@ -352,6 +355,14 @@ this.timeLimit = timeLimit; } + public boolean isTimeLimitManualStart() { + return timeLimitManualStart; + } + + public void setTimeLimitManualStart(boolean timeLimitManualStart) { + this.timeLimitManualStart = timeLimitManualStart; + } + /** * @return date when teacher has started time counter (pressed start button) */ Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java =================================================================== diff -u -re9f9ac4d0bb609a9c1bb7d966e4162456b5f4b40 -r8e8e7b3f0982e5e772b90202f01d43f1ee52962d --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java (.../LearningController.java) (revision e9f9ac4d0bb609a9c1bb7d966e4162456b5f4b40) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java (.../LearningController.java) (revision 8e8e7b3f0982e5e772b90202f01d43f1ee52962d) @@ -143,9 +143,14 @@ request.setAttribute(DokumaranConstants.ATTR_DOKUMARAN, dokumaran); return "pages/learning/waitforleader"; } - //time limit is set but hasn't yet launched by a teacher - show waitForTimeLimitLaunch page if (dokumaran.getTimeLimit() > 0 && dokumaran.getTimeLimitLaunchedDate() == null) { - return "pages/learning/waitForTimeLimitLaunch"; + if (dokumaran.isTimeLimitManualStart() && !mode.isAuthor()) { + // time limit is set but hasn't yet launched by a teacher - show waitForTimeLimitLaunch page + return "pages/learning/waitForTimeLimitLaunch"; + } + // there is no manual start, so the first learner that enters starts the timer + dokumaran.setTimeLimitLaunchedDate(new Date()); + dokumaranService.saveOrUpdate(dokumaran); } boolean isUserLeader = (user != null) && dokumaranService.isUserLeader(leaders, user.getUserId()); @@ -226,6 +231,7 @@ if (padId == null) { return "pages/learning/notconfigured"; } + sessionMap.put(DokumaranConstants.ATTR_HAS_EDIT_RIGHT, false); } request.setAttribute(DokumaranConstants.ATTR_PAD_ID, padId); Index: lams_tool_doku/web/pages/authoring/advance.jsp =================================================================== diff -u -r30437984ef78da4197caa4ed57df1bac256034bf -r8e8e7b3f0982e5e772b90202f01d43f1ee52962d --- lams_tool_doku/web/pages/authoring/advance.jsp (.../advance.jsp) (revision 30437984ef78da4197caa4ed57df1bac256034bf) +++ lams_tool_doku/web/pages/authoring/advance.jsp (.../advance.jsp) (revision 8e8e7b3f0982e5e772b90202f01d43f1ee52962d) @@ -46,6 +46,13 @@ +
+ +
+