Search in sources :

Example 1 with SurveyFileResource

use of org.olat.ims.qti.fileresource.SurveyFileResource in project OpenOLAT by OpenOLAT.

the class QTISurveyHandler method createEditorController.

@Override
public Controller createEditorController(RepositoryEntry re, UserRequest ureq, WindowControl wControl, TooledStackedPanel toolbar) {
    OLATResource res = re.getOlatResource();
    if (OnyxModule.isOnyxTest(res)) {
        return null;
    }
    SurveyFileResource fr = new SurveyFileResource();
    fr.overrideResourceableId(res.getResourceableId());
    // check if we can edit in restricted mode -> only typos
    List<Reference> referencees = CoreSpringFactory.getImpl(ReferenceManager.class).getReferencesTo(res);
    QTIEditorMainController editor = new QTIEditorMainController(ureq, wControl, re, referencees, fr);
    if (editor.isLockedSuccessfully()) {
        return editor;
    } else {
        return null;
    }
}
Also used : SurveyFileResource(org.olat.ims.qti.fileresource.SurveyFileResource) QTIEditorMainController(org.olat.ims.qti.editor.QTIEditorMainController) Reference(org.olat.resource.references.Reference) OLATResource(org.olat.resource.OLATResource) ReferenceManager(org.olat.resource.references.ReferenceManager)

Example 2 with SurveyFileResource

use of org.olat.ims.qti.fileresource.SurveyFileResource in project openolat by klemens.

the class IQSURVCourseNode method createNodeRunConstructionResult.

/**
 * @see org.olat.course.nodes.CourseNode#createNodeRunConstructionResult(org.olat.core.gui.UserRequest,
 *      org.olat.core.gui.control.WindowControl,
 *      org.olat.course.run.userview.UserCourseEnvironment,
 *      org.olat.course.run.userview.NodeEvaluation)
 */
@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    Controller controller;
    // Do not allow guests to start questionnaires
    Roles roles = ureq.getUserSession().getRoles();
    if (roles.isGuestOnly()) {
        Translator trans = Util.createPackageTranslator(IQSURVCourseNode.class, ureq.getLocale());
        String title = trans.translate("guestnoaccess.title");
        String message = trans.translate("guestnoaccess.message");
        controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
    } else {
        ModuleConfiguration config = getModuleConfiguration();
        boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI));
        if (onyx) {
            Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
            controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
        } else {
            RepositoryEntry repositoryEntry = getReferencedRepositoryEntry();
            OLATResourceable ores = repositoryEntry.getOlatResource();
            Long resId = ores.getResourceableId();
            SurveyFileResource fr = new SurveyFileResource();
            fr.overrideResourceableId(resId);
            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);
            } else {
                Translator trans = Util.createPackageTranslator(IQSURVCourseNode.class, ureq.getLocale());
                String title = trans.translate("editor.lock.title");
                String message = trans.translate("editor.lock.message");
                controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
            }
        }
    }
    Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_iqsurv_icon");
    return new NodeRunConstructionResult(ctrl);
}
Also used : ModuleConfiguration(org.olat.modules.ModuleConfiguration) CourseIQSecurityCallback(org.olat.course.nodes.iq.CourseIQSecurityCallback) IQRunController(org.olat.course.nodes.iq.IQRunController) OLATResourceable(org.olat.core.id.OLATResourceable) AssessmentManager(org.olat.course.assessment.AssessmentManager) Roles(org.olat.core.id.Roles) RepositoryEntry(org.olat.repository.RepositoryEntry) IQEditController(org.olat.course.nodes.iq.IQEditController) NodeEditController(org.olat.course.editor.NodeEditController) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) Controller(org.olat.core.gui.control.Controller) IQRunController(org.olat.course.nodes.iq.IQRunController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult) SurveyFileResource(org.olat.ims.qti.fileresource.SurveyFileResource) Translator(org.olat.core.gui.translator.Translator) PackageTranslator(org.olat.core.gui.translator.PackageTranslator) IQSecurityCallback(org.olat.modules.iq.IQSecurityCallback) CourseIQSecurityCallback(org.olat.course.nodes.iq.CourseIQSecurityCallback)

Example 3 with SurveyFileResource

use of org.olat.ims.qti.fileresource.SurveyFileResource in project OpenOLAT by OpenOLAT.

the class IQSURVCourseNode method createNodeRunConstructionResult.

/**
 * @see org.olat.course.nodes.CourseNode#createNodeRunConstructionResult(org.olat.core.gui.UserRequest,
 *      org.olat.core.gui.control.WindowControl,
 *      org.olat.course.run.userview.UserCourseEnvironment,
 *      org.olat.course.run.userview.NodeEvaluation)
 */
@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
    Controller controller;
    // Do not allow guests to start questionnaires
    Roles roles = ureq.getUserSession().getRoles();
    if (roles.isGuestOnly()) {
        Translator trans = Util.createPackageTranslator(IQSURVCourseNode.class, ureq.getLocale());
        String title = trans.translate("guestnoaccess.title");
        String message = trans.translate("guestnoaccess.message");
        controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
    } else {
        ModuleConfiguration config = getModuleConfiguration();
        boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI));
        if (onyx) {
            Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
            controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
        } else {
            RepositoryEntry repositoryEntry = getReferencedRepositoryEntry();
            OLATResourceable ores = repositoryEntry.getOlatResource();
            Long resId = ores.getResourceableId();
            SurveyFileResource fr = new SurveyFileResource();
            fr.overrideResourceableId(resId);
            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);
            } else {
                Translator trans = Util.createPackageTranslator(IQSURVCourseNode.class, ureq.getLocale());
                String title = trans.translate("editor.lock.title");
                String message = trans.translate("editor.lock.message");
                controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message);
            }
        }
    }
    Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_iqsurv_icon");
    return new NodeRunConstructionResult(ctrl);
}
Also used : ModuleConfiguration(org.olat.modules.ModuleConfiguration) CourseIQSecurityCallback(org.olat.course.nodes.iq.CourseIQSecurityCallback) IQRunController(org.olat.course.nodes.iq.IQRunController) OLATResourceable(org.olat.core.id.OLATResourceable) AssessmentManager(org.olat.course.assessment.AssessmentManager) Roles(org.olat.core.id.Roles) RepositoryEntry(org.olat.repository.RepositoryEntry) IQEditController(org.olat.course.nodes.iq.IQEditController) NodeEditController(org.olat.course.editor.NodeEditController) TabbableController(org.olat.core.gui.control.generic.tabbable.TabbableController) Controller(org.olat.core.gui.control.Controller) IQRunController(org.olat.course.nodes.iq.IQRunController) NodeRunConstructionResult(org.olat.course.run.navigation.NodeRunConstructionResult) SurveyFileResource(org.olat.ims.qti.fileresource.SurveyFileResource) Translator(org.olat.core.gui.translator.Translator) PackageTranslator(org.olat.core.gui.translator.PackageTranslator) IQSecurityCallback(org.olat.modules.iq.IQSecurityCallback) CourseIQSecurityCallback(org.olat.course.nodes.iq.CourseIQSecurityCallback)

Example 4 with SurveyFileResource

use of org.olat.ims.qti.fileresource.SurveyFileResource in project openolat by klemens.

the class QTISurveyHandler method createEditorController.

@Override
public Controller createEditorController(RepositoryEntry re, UserRequest ureq, WindowControl wControl, TooledStackedPanel toolbar) {
    OLATResource res = re.getOlatResource();
    if (OnyxModule.isOnyxTest(res)) {
        return null;
    }
    SurveyFileResource fr = new SurveyFileResource();
    fr.overrideResourceableId(res.getResourceableId());
    // check if we can edit in restricted mode -> only typos
    List<Reference> referencees = CoreSpringFactory.getImpl(ReferenceManager.class).getReferencesTo(res);
    QTIEditorMainController editor = new QTIEditorMainController(ureq, wControl, re, referencees, fr);
    if (editor.isLockedSuccessfully()) {
        return editor;
    } else {
        return null;
    }
}
Also used : SurveyFileResource(org.olat.ims.qti.fileresource.SurveyFileResource) QTIEditorMainController(org.olat.ims.qti.editor.QTIEditorMainController) Reference(org.olat.resource.references.Reference) OLATResource(org.olat.resource.OLATResource) ReferenceManager(org.olat.resource.references.ReferenceManager)

Aggregations

SurveyFileResource (org.olat.ims.qti.fileresource.SurveyFileResource)4 Controller (org.olat.core.gui.control.Controller)2 TabbableController (org.olat.core.gui.control.generic.tabbable.TabbableController)2 PackageTranslator (org.olat.core.gui.translator.PackageTranslator)2 Translator (org.olat.core.gui.translator.Translator)2 OLATResourceable (org.olat.core.id.OLATResourceable)2 Roles (org.olat.core.id.Roles)2 AssessmentManager (org.olat.course.assessment.AssessmentManager)2 NodeEditController (org.olat.course.editor.NodeEditController)2 CourseIQSecurityCallback (org.olat.course.nodes.iq.CourseIQSecurityCallback)2 IQEditController (org.olat.course.nodes.iq.IQEditController)2 IQRunController (org.olat.course.nodes.iq.IQRunController)2 NodeRunConstructionResult (org.olat.course.run.navigation.NodeRunConstructionResult)2 QTIEditorMainController (org.olat.ims.qti.editor.QTIEditorMainController)2 ModuleConfiguration (org.olat.modules.ModuleConfiguration)2 IQSecurityCallback (org.olat.modules.iq.IQSecurityCallback)2 RepositoryEntry (org.olat.repository.RepositoryEntry)2 OLATResource (org.olat.resource.OLATResource)2 Reference (org.olat.resource.references.Reference)2 ReferenceManager (org.olat.resource.references.ReferenceManager)2