Index: lams_tool_zoom/conf/hibernate/mappings/org/lamsfoundation/lams/tool/zoom/model/Zoom.hbm.xml =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -r6c62e5beb70cd0b72dcec44eaf80ba489a442fb4 --- lams_tool_zoom/conf/hibernate/mappings/org/lamsfoundation/lams/tool/zoom/model/Zoom.hbm.xml (.../Zoom.hbm.xml) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/conf/hibernate/mappings/org/lamsfoundation/lams/tool/zoom/model/Zoom.hbm.xml (.../Zoom.hbm.xml) (revision 6c62e5beb70cd0b72dcec44eaf80ba489a442fb4) @@ -86,8 +86,25 @@ column="reflect_instructions" length="65535" /> - + + + + + 0 ? duration : null); } /** Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/actions/LearningAction.java =================================================================== diff -u -r37f066ac5ffb3067a1f8094f8c41d5e8f7aa2b3f -r6c62e5beb70cd0b72dcec44eaf80ba489a442fb4 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/actions/LearningAction.java (.../LearningAction.java) (revision 37f066ac5ffb3067a1f8094f8c41d5e8f7aa2b3f) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/actions/LearningAction.java (.../LearningAction.java) (revision 6c62e5beb70cd0b72dcec44eaf80ba489a442fb4) @@ -231,18 +231,20 @@ // set toolSessionID in request request.setAttribute(ZoomConstants.ATTR_TOOL_SESSION_ID, session.getSessionId()); - if (mode.isAuthor()) { + if (mode.isAuthor() || !zoom.isStartInMonitor()) { // start a meeting just like a monitor would ActionErrors errors = ZoomUtil.startMeeting(zoomService, zoom, request); if (!errors.isEmpty()) { this.addErrors(request, errors); } - } else { + } + if (!mode.isAuthor()) { // register a learner for the meeting String meetingURL = user.getMeetingJoinUrl(); if (meetingURL == null && zoom.getMeetingId() != null) { meetingURL = zoomService.registerUser(zoom.getUid(), user.getUid(), session.getSessionName()); } + // if start in monitor is not set, this overwrites the URL set in ZoomUtil.startMeeting() above request.setAttribute(ZoomConstants.ATTR_MEETING_URL, meetingURL); } Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -r6c62e5beb70cd0b72dcec44eaf80ba489a442fb4 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 6c62e5beb70cd0b72dcec44eaf80ba489a442fb4) @@ -36,7 +36,6 @@ * */ public class AuthoringForm extends ActionForm { - private static final long serialVersionUID = 3950453134542135495L; // Fields @@ -49,6 +48,10 @@ private String reflectInstructions; + private boolean startInMonitor; + + private Integer duration; + private String currentTab; private String dispatch; @@ -113,6 +116,22 @@ this.reflectInstructions = reflectInstructions; } + public boolean isStartInMonitor() { + return startInMonitor; + } + + public void setStartInMonitor(boolean startInMonitor) { + this.startInMonitor = startInMonitor; + } + + public Integer getDuration() { + return duration; + } + + public void setDuration(Integer duration) { + this.duration = duration; + } + public String getTitle() { return title; } Index: lams_tool_zoom/web/pages/authoring/advanced.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -r6c62e5beb70cd0b72dcec44eaf80ba489a442fb4 --- lams_tool_zoom/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision 6c62e5beb70cd0b72dcec44eaf80ba489a442fb4) @@ -1,10 +1,48 @@ <%@ include file="/common/taglibs.jsp"%> + + +
+ +
+ +
+ +
+ +
+ +
+ +
@@ -18,9 +56,9 @@ - - + $('#durationSwitch').change(function(){ + var duration = $('#duration'); + if ($(this).prop('checked')) { + duration.prop('disabled', false).val("120"); + } else { + duration.prop('disabled', true).val(null); + } + }); + \ No newline at end of file