Skip to content
Snippets Groups Projects
Commit e02f308d authored by srosse's avatar srosse
Browse files

OO-1349: deactivate the popup, fix an issue with students stressed by several exams

parent a14ef9a4
No related branches found
No related tags found
No related merge requests found
...@@ -666,8 +666,11 @@ public class BaseFullWebappController extends BasicController implements ChiefCo ...@@ -666,8 +666,11 @@ public class BaseFullWebappController extends BasicController implements ChiefCo
lockStatus = LockStatus.locked; lockStatus = LockStatus.locked;
removeAsListenerAndDispose(assessmentGuardCtrl); removeAsListenerAndDispose(assessmentGuardCtrl);
assessmentGuardCtrl = null; assessmentGuardCtrl = null;
} else { } else if("continue".equals(event.getCommand())) {
initializeDefaultSite(ureq); initializeDefaultSite(ureq);
removeAsListenerAndDispose(assessmentGuardCtrl);
assessmentGuardCtrl = null;
lockStatus = null;
} }
} else { } else {
int tabIndex = dtabsControllers.indexOf(source); int tabIndex = dtabsControllers.indexOf(source);
...@@ -1359,8 +1362,13 @@ public class BaseFullWebappController extends BasicController implements ChiefCo ...@@ -1359,8 +1362,13 @@ public class BaseFullWebappController extends BasicController implements ChiefCo
if(lockResource != null && lockResource.getResourceableId().equals(mode.getResource().getResourceableId())) { if(lockResource != null && lockResource.getResourceableId().equals(mode.getResource().getResourceableId())) {
logAudit("Async unlock resource for user: " + getIdentity().getName() + " (" + mode.getResource() + ")", null); logAudit("Async unlock resource for user: " + getIdentity().getName() + " (" + mode.getResource() + ")", null);
unlockResource(); unlockResource();
if(lockMode != null) {
//check if there is a locked resource first
lockStatus = LockStatus.need;
} else {
lockStatus = null;
}
lockMode = null; lockMode = null;
lockStatus = null;
unlock = true; unlock = true;
} else { } else {
unlock = false; unlock = false;
...@@ -1385,10 +1393,15 @@ public class BaseFullWebappController extends BasicController implements ChiefCo ...@@ -1385,10 +1393,15 @@ public class BaseFullWebappController extends BasicController implements ChiefCo
private boolean checkAssessmentGuard(UserRequest ureq, TransientAssessmentMode mode) { private boolean checkAssessmentGuard(UserRequest ureq, TransientAssessmentMode mode) {
boolean needUpdate; boolean needUpdate;
if(this.getIdentity() != null) {
System.out.println(getIdentity().getName() + " Lock status " + lockStatus);
}
if(assessmentGuardCtrl == null) { if(assessmentGuardCtrl == null) {
if(lockStatus == LockStatus.need) { if(lockStatus == LockStatus.need) {
List<TransientAssessmentMode> modes = mode == null ?
Collections.<TransientAssessmentMode>emptyList() : Collections.singletonList(mode);
assessmentGuardCtrl = new AssessmentModeGuardController(ureq, getWindowControl(), assessmentGuardCtrl = new AssessmentModeGuardController(ureq, getWindowControl(),
Collections.singletonList(mode), true); modes , true);
listenTo(assessmentGuardCtrl); listenTo(assessmentGuardCtrl);
assessmentGuardCtrl.getInitialComponent(); assessmentGuardCtrl.getInitialComponent();
lockStatus = LockStatus.popup; lockStatus = LockStatus.popup;
......
...@@ -354,6 +354,8 @@ public class AssessmentModeGuardController extends BasicController implements Ge ...@@ -354,6 +354,8 @@ public class AssessmentModeGuardController extends BasicController implements Ge
boolean canContinue = guards.getSize() == 0; boolean canContinue = guards.getSize() == 0;
if(canContinue) { if(canContinue) {
cmc.deactivate();
fireEvent(ureq, new Event("continue")); fireEvent(ureq, new Event("continue"));
String businessPath = "[MyCoursesSite:0]"; String businessPath = "[MyCoursesSite:0]";
NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl());
...@@ -370,6 +372,8 @@ public class AssessmentModeGuardController extends BasicController implements Ge ...@@ -370,6 +372,8 @@ public class AssessmentModeGuardController extends BasicController implements Ge
* @param mode * @param mode
*/ */
private void launchAssessmentMode(UserRequest ureq, TransientAssessmentMode mode) { private void launchAssessmentMode(UserRequest ureq, TransientAssessmentMode mode) {
cmc.deactivate();
ureq.getUserSession().setAssessmentModes(null); ureq.getUserSession().setAssessmentModes(null);
OLATResourceable resource = mode.getResource(); OLATResourceable resource = mode.getResource();
ureq.getUserSession().setLockResource(resource, mode); ureq.getUserSession().setLockResource(resource, mode);
......
<div class="o_info">$r.translate("current.mode.desc")</div> #if($guards.list.empty)
<div class="o_info">$r.translate("current.mode.end.info")</div>
#else
<div class="o_info">$r.translate("current.mode.desc")</div>
#end
#foreach($mode in $guards.list) #foreach($mode in $guards.list)
<h2>$mode.name <small>$r.translate("current.mode.course", $mode.displayName)</small></h2> <h2>$mode.name <small>$r.translate("current.mode.course", $mode.displayName)</small></h2>
<p><em>$r.translate("current.mode.datetimes", $mode.begin, $mode.end)</em> <p><em>$r.translate("current.mode.datetimes", $mode.begin, $mode.end)</em>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment