Skip to content
Snippets Groups Projects
Commit 20c14a6f authored by fkiefer's avatar fkiefer
Browse files

OO-2540 add disclaimer to QTI 2.1 landing page

parent a62d3f36
No related branches found
No related tags found
No related merge requests found
...@@ -36,6 +36,7 @@ import org.olat.core.gui.control.Controller; ...@@ -36,6 +36,7 @@ import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.generic.iframe.IFrameDisplayController;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.OLATResourceable; import org.olat.core.id.OLATResourceable;
import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
...@@ -46,6 +47,7 @@ import org.olat.core.util.Util; ...@@ -46,6 +47,7 @@ import org.olat.core.util.Util;
import org.olat.core.util.event.EventBus; import org.olat.core.util.event.EventBus;
import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.GenericEventListener;
import org.olat.core.util.resource.OresHelper; import org.olat.core.util.resource.OresHelper;
import org.olat.core.util.vfs.VFSContainer;
import org.olat.course.DisposedCourseRestartController; import org.olat.course.DisposedCourseRestartController;
import org.olat.course.assessment.AssessmentHelper; import org.olat.course.assessment.AssessmentHelper;
import org.olat.course.assessment.AssessmentManager; import org.olat.course.assessment.AssessmentManager;
...@@ -145,6 +147,28 @@ public class QTI21AssessmentRunController extends BasicController implements Gen ...@@ -145,6 +147,28 @@ public class QTI21AssessmentRunController extends BasicController implements Gen
startButton.setPrimary(true); startButton.setPrimary(true);
startButton.setVisible(!userCourseEnv.isCourseReadOnly()); startButton.setVisible(!userCourseEnv.isCourseReadOnly());
// fetch disclaimer file
String sDisclaimer = (String)config.get(IQEditController.CONFIG_KEY_DISCLAIMER);
if (sDisclaimer != null) {
VFSContainer baseContainer = userCourseEnv.getCourseEnvironment().getCourseFolderContainer();
int lastSlash = sDisclaimer.lastIndexOf('/');
if (lastSlash != -1) {
baseContainer = (VFSContainer)baseContainer.resolve(sDisclaimer.substring(0, lastSlash));
sDisclaimer = sDisclaimer.substring(lastSlash);
// first check if disclaimer exists on filesystem
if (baseContainer == null || baseContainer.resolve(sDisclaimer) == null) {
showWarning("disclaimer.file.invalid", sDisclaimer);
} else {
//screenreader do not like iframes, display inline
IFrameDisplayController iFrameCtr = new IFrameDisplayController(ureq, getWindowControl(), baseContainer);
listenTo(iFrameCtr);//dispose automatically
mainVC.put("disc", iFrameCtr.getInitialComponent());
iFrameCtr.setCurrentURI(sDisclaimer);
mainVC.contextPut("hasDisc", Boolean.TRUE);
}
}
}
if (assessmentType) { if (assessmentType) {
checkChats(ureq); checkChats(ureq);
singleUserEventCenter.registerFor(this, getIdentity(), InstantMessagingService.TOWER_EVENT_ORES); singleUserEventCenter.registerFor(this, getIdentity(), InstantMessagingService.TOWER_EVENT_ORES);
......
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