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

OO-3814: use the content to check if it's an Onyx or a QTI 1.2 resource

parent 975f95e4
No related branches found
No related tags found
No related merge requests found
...@@ -88,6 +88,7 @@ import org.olat.repository.RepositoryEntryImportExport; ...@@ -88,6 +88,7 @@ import org.olat.repository.RepositoryEntryImportExport;
import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryManager;
import org.olat.repository.handlers.RepositoryHandler; import org.olat.repository.handlers.RepositoryHandler;
import org.olat.repository.handlers.RepositoryHandlerFactory; import org.olat.repository.handlers.RepositoryHandlerFactory;
import org.olat.resource.OLATResource;
/** /**
* Initial Date: Feb 9, 2004 * Initial Date: Feb 9, 2004
...@@ -131,20 +132,17 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se ...@@ -131,20 +132,17 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se
UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) { UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
Controller runController; Controller runController;
ModuleConfiguration config = getModuleConfiguration(); RepositoryEntry testEntry = getReferencedRepositoryEntry();
AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); OLATResource ores = testEntry.getOlatResource();
boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); if (QTIResourceTypeModule.isOnyxTest(ores)) {
if (onyx) {
Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx")); runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
} else if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) {
runController = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this);
} else { } else {
RepositoryEntry testEntry = getReferencedRepositoryEntry(); AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager();
if(ImsQTI21Resource.TYPE_NAME.equals(testEntry.getOlatResource().getResourceableTypeName())) { IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity());
runController = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); runController = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this);
} else {
IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity());
runController = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this);
}
} }
Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, runController, this, "o_iqself_icon"); Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, runController, this, "o_iqself_icon");
......
...@@ -56,6 +56,7 @@ import org.olat.course.editor.StatusDescription; ...@@ -56,6 +56,7 @@ import org.olat.course.editor.StatusDescription;
import org.olat.course.nodes.iq.CourseIQSecurityCallback; import org.olat.course.nodes.iq.CourseIQSecurityCallback;
import org.olat.course.nodes.iq.IQEditController; import org.olat.course.nodes.iq.IQEditController;
import org.olat.course.nodes.iq.IQRunController; import org.olat.course.nodes.iq.IQRunController;
import org.olat.course.nodes.iq.QTIResourceTypeModule;
import org.olat.course.properties.CoursePropertyManager; import org.olat.course.properties.CoursePropertyManager;
import org.olat.course.run.navigation.NodeRunConstructionResult; import org.olat.course.run.navigation.NodeRunConstructionResult;
import org.olat.course.run.userview.NodeEvaluation; import org.olat.course.run.userview.NodeEvaluation;
...@@ -138,14 +139,12 @@ public class IQSURVCourseNode extends AbstractAccessableCourseNode implements QT ...@@ -138,14 +139,12 @@ public class IQSURVCourseNode extends AbstractAccessableCourseNode implements QT
String message = trans.translate("guestnoaccess.message"); String message = trans.translate("guestnoaccess.message");
controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
} else { } else {
ModuleConfiguration config = getModuleConfiguration(); RepositoryEntry repositoryEntry = getReferencedRepositoryEntry();
boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); OLATResourceable ores = repositoryEntry.getOlatResource();
if (onyx) { if (QTIResourceTypeModule.isOnyxTest(ores)) {
Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx")); controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
} else { } else {
RepositoryEntry repositoryEntry = getReferencedRepositoryEntry();
OLATResourceable ores = repositoryEntry.getOlatResource();
Long resId = ores.getResourceableId(); Long resId = ores.getResourceableId();
SurveyFileResource fr = new SurveyFileResource(); SurveyFileResource fr = new SurveyFileResource();
fr.overrideResourceableId(resId); fr.overrideResourceableId(resId);
......
...@@ -176,30 +176,26 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements Pe ...@@ -176,30 +176,26 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements Pe
controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
} }
} else { } else {
ModuleConfiguration config = getModuleConfiguration(); RepositoryEntry testEntry = getReferencedRepositoryEntry();
boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); OLATResource ores = testEntry.getOlatResource();
if (onyx) { if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) {
//QTI 2.1
controller = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this);
} else if(QTIResourceTypeModule.isOnyxTest(ores)) {
Translator transe = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); Translator transe = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", transe.translate("error.onyx")); controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", transe.translate("error.onyx"));
} else { } else {
RepositoryEntry testEntry = getReferencedRepositoryEntry(); //QTI 1.2
OLATResource ores = testEntry.getOlatResource(); TestFileResource fr = new TestFileResource();
if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) { fr.overrideResourceableId(ores.getResourceableId());
//QTI 2.1 if(!CoordinatorManager.getInstance().getCoordinator().getLocker().isLocked(fr, null)) {
controller = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager();
IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity());
controller = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this, testEntry);
} else { } else {
//QTI 1.2 String title = trans.translate("editor.lock.title");
TestFileResource fr = new TestFileResource(); String message = trans.translate("editor.lock.message");
fr.overrideResourceableId(ores.getResourceableId()); controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
if(!CoordinatorManager.getInstance().getCoordinator().getLocker().isLocked(fr, null)) {
AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager();
IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity());
controller = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this, testEntry);
} else {
String title = trans.translate("editor.lock.title");
String message = trans.translate("editor.lock.message");
controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
}
} }
} }
} }
......
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