Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -r411727872d04bfd061de7b831320654d816c4cbf -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 411727872d04bfd061de7b831320654d816c4cbf) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -337,7 +337,7 @@ * @param userId * @return */ - GateActivity openGateForSingleUser(Long gateId, Integer userId); + GateActivity openGateForSingleUser(Long gateId, Integer[] userIds); /** * Set the gate to closed. Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r451d27fa7ec1f4acca4f15c8f52c3cd9a238787f -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 451d27fa7ec1f4acca4f15c8f52c3cd9a238787f) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -908,7 +908,7 @@ if (grouping != null) { groupingDAO.delete(grouping); } - + for (BranchActivityEntry entry : branchingActivity.getBranchActivityEntries()) { BranchCondition condition = entry.getCondition(); if (condition != null) { @@ -978,9 +978,9 @@ } @Override - public GateActivity openGateForSingleUser(Long gateId, Integer userId) { + public GateActivity openGateForSingleUser(Long gateId, Integer[] userIds) { GateActivity gate = (GateActivity) activityDAO.getActivityByActivityId(gateId); - if ((gate != null) && (userId != null) && (userId >= 0)) { + for (Integer userId : userIds) { User user = (User) baseDAO.find(User.class, userId); gate.getAllowedToPassLearners().add(user); activityDAO.update(gate); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== diff -u -r3399163940c61c9132223c758d274486e57ff9b7 -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 3399163940c61c9132223c758d274486e57ff9b7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -21,14 +21,14 @@ * **************************************************************** */ - package org.lamsfoundation.lams.monitoring.web; import java.io.IOException; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.TimeZone; @@ -37,6 +37,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; @@ -216,8 +217,15 @@ DynaActionForm gateForm = (DynaActionForm) form; Long gateIdLong = (Long) gateForm.get(GateAction.ACTIVITY_FORM_FIELD); - Integer userId = (Integer) gateForm.get(GateAction.USER_ID); - GateActivity gate = monitoringService.openGateForSingleUser(gateIdLong, userId); + String userId = (String) gateForm.get(GateAction.USER_ID); + String[] userIdsString = userId.split(","); + List userIds = new LinkedList(); + for (String userIdString : userIdsString) { + if (StringUtils.isNotBlank(userIdString)) { + userIds.add(Integer.valueOf(userIdString)); + } + } + GateActivity gate = monitoringService.openGateForSingleUser(gateIdLong, userIds.toArray(new Integer[] {})); return findViewByGateType(mapping, gateForm, gate); } Index: lams_monitoring/web/WEB-INF/struts-config.xml =================================================================== diff -u -r51f0b0d75529c154910d175aad7d0f26acdf0597 -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 51f0b0d75529c154910d175aad7d0f26acdf0597) +++ lams_monitoring/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -24,7 +24,7 @@ - + Index: lams_monitoring/web/gate/conditionGateContent.jsp =================================================================== diff -u -rff491b651076f76b819a2555afd5fb02d61fb0be -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/web/gate/conditionGateContent.jsp (.../conditionGateContent.jsp) (revision ff491b651076f76b819a2555afd5fb02d61fb0be) +++ lams_monitoring/web/gate/conditionGateContent.jsp (.../conditionGateContent.jsp) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -4,16 +4,19 @@ <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> <%@ taglib uri="tags-lams" prefix="lams" %> + + Index: lams_monitoring/web/gate/openGateSingleUser.jsp =================================================================== diff -u -rff491b651076f76b819a2555afd5fb02d61fb0be -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision ff491b651076f76b819a2555afd5fb02d61fb0be) +++ lams_monitoring/web/gate/openGateSingleUser.jsp (.../openGateSingleUser.jsp) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -1,37 +1,56 @@ + +

- +

- + +
- -
- " onclick="document.pressed='forbidden'"/> +
+ " + onclick="javascript:allowUsers('forbidden')"/>

- + +
- -
- " onclick="document.pressed='waiting'"/> +
+ " + onclick="javascript:allowUsers('waiting')"/>

- +
+ + +
+
+
Index: lams_monitoring/web/gate/permissionGateContent.jsp =================================================================== diff -u -rff491b651076f76b819a2555afd5fb02d61fb0be -rae5e9eacbfbf13097410637b6e8990dfb909177a --- lams_monitoring/web/gate/permissionGateContent.jsp (.../permissionGateContent.jsp) (revision ff491b651076f76b819a2555afd5fb02d61fb0be) +++ lams_monitoring/web/gate/permissionGateContent.jsp (.../permissionGateContent.jsp) (revision ae5e9eacbfbf13097410637b6e8990dfb909177a) @@ -4,18 +4,22 @@ <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> <%@ taglib uri="tags-lams" prefix="lams" %> + + +