Index: lams_learning/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r7116e79c883ad42375d9fa3278dec8a84733ea86 -r255e14779b181a96063e506b5c99be6ffb47d2ad --- lams_learning/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 7116e79c883ad42375d9fa3278dec8a84733ea86) +++ lams_learning/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 255e14779b181a96063e506b5c99be6ffb47d2ad) @@ -26,6 +26,7 @@ label.password.gate.title =Password gate label.password.gate.message =You must provide a correct password to continue. label.password.gate.refresh =A teacher can also let you through in Monitoring. This page will refresh automatically in 1 minute. +label.password.gate.incorrect.password =You provided an incorrect password. label.schedule.gate.title =Schedule gate label.schedule.gate.open.message =The gate will be opened at: label.schedule.gate.close.message =The gate will be closed at: Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GateController.java =================================================================== diff -u -r7116e79c883ad42375d9fa3278dec8a84733ea86 -r255e14779b181a96063e506b5c99be6ffb47d2ad --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GateController.java (.../GateController.java) (revision 7116e79c883ad42375d9fa3278dec8a84733ea86) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GateController.java (.../GateController.java) (revision 255e14779b181a96063e506b5c99be6ffb47d2ad) @@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learning.web.form.GateForm; @@ -201,6 +202,9 @@ return "gate/permissionGateContent"; } else if (gate.isPasswordGate()) { gateForm.setMonitorCanOpenGate(false); + if (StringUtils.isNotBlank(gateForm.getKey()) && !gateDTO.getAllowToPass()) { + gateForm.setIncorrectKey(true); + } return "gate/passwordGateContent"; } else { throw new LearnerServiceException("Invalid gate activity. " + "gate id [" + gate.getActivityId() Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/GateForm.java =================================================================== diff -u -r7116e79c883ad42375d9fa3278dec8a84733ea86 -r255e14779b181a96063e506b5c99be6ffb47d2ad --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/GateForm.java (.../GateForm.java) (revision 7116e79c883ad42375d9fa3278dec8a84733ea86) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/GateForm.java (.../GateForm.java) (revision 255e14779b181a96063e506b5c99be6ffb47d2ad) @@ -18,6 +18,7 @@ private Long startOffset; private Boolean previewLesson; private String key; + private boolean incorrectKey; // used for updating the the progress bar private Integer version; @@ -143,4 +144,12 @@ public void setKey(String key) { this.key = key; } + + public boolean isIncorrectKey() { + return incorrectKey; + } + + public void setIncorrectKey(boolean incorrectKey) { + this.incorrectKey = incorrectKey; + } } \ No newline at end of file Index: lams_learning/web/gate/passwordGateContent.jsp =================================================================== diff -u -r7116e79c883ad42375d9fa3278dec8a84733ea86 -r255e14779b181a96063e506b5c99be6ffb47d2ad --- lams_learning/web/gate/passwordGateContent.jsp (.../passwordGateContent.jsp) (revision 7116e79c883ad42375d9fa3278dec8a84733ea86) +++ lams_learning/web/gate/passwordGateContent.jsp (.../passwordGateContent.jsp) (revision 255e14779b181a96063e506b5c99be6ffb47d2ad) @@ -38,6 +38,9 @@ #passwordField { margin-left: 10px; } + #incorrectKey { + color: red; + }