Search in sources :

Example 16 with StatusDescription

use of org.olat.course.editor.StatusDescription in project OpenOLAT by OpenOLAT.

the class CPCourseNode method isConfigValid.

/**
 * @see org.olat.course.nodes.CourseNode#isConfigValid()
 */
@Override
public StatusDescription isConfigValid() {
    /*
																						 * first check the one click cache
																						 */
    if (oneClickStatusCache != null) {
        return oneClickStatusCache[0];
    }
    StatusDescription sd = StatusDescription.NOERROR;
    boolean isValid = CPEditController.isModuleConfigValid(getModuleConfiguration());
    if (!isValid) {
        // FIXME: refine statusdescriptions
        String shortKey = "error.noreference.short";
        String longKey = "error.noreference.long";
        String[] params = new String[] { this.getShortTitle() };
        String translPackage = Util.getPackageName(CPEditController.class);
        sd = new StatusDescription(StatusDescription.ERROR, shortKey, longKey, params, translPackage);
        sd.setDescriptionForUnit(getIdent());
        // set which pane is affected by error
        sd.setActivateableViewIdentifier(CPEditController.PANE_TAB_CPCONFIG);
    }
    return sd;
}
Also used : StatusDescription(org.olat.course.editor.StatusDescription)

Example 17 with StatusDescription

use of org.olat.course.editor.StatusDescription in project OpenOLAT by OpenOLAT.

the class CheckListCourseNode method addStatusErrorDescription.

private void addStatusErrorDescription(String key, String pane, List<StatusDescription> status) {
    String[] params = new String[] { getShortTitle() };
    StatusDescription sd = new StatusDescription(StatusDescription.ERROR, key, key, params, PACKAGE_CL);
    sd.setDescriptionForUnit(getIdent());
    sd.setActivateableViewIdentifier(pane);
    status.add(sd);
}
Also used : StatusDescription(org.olat.course.editor.StatusDescription)

Example 18 with StatusDescription

use of org.olat.course.editor.StatusDescription in project OpenOLAT by OpenOLAT.

the class GenericCourseNode method isConfigValidWithTranslator.

/**
 * @param userCourseEnv
 * @param translatorStr
 * @return
 */
// for StatusDescription.WARNING
protected List<StatusDescription> isConfigValidWithTranslator(CourseEditorEnv cev, String translatorStr, List<ConditionExpression> condExprs) {
    List<StatusDescription> condExprsStatusDescs = new ArrayList<>();
    // check valid configuration without course environment
    StatusDescription first = isConfigValid();
    // check valid configuration within the course environment
    if (cev == null) {
        // course environment not configured!??
        condExprsStatusDescs.add(first);
        return condExprsStatusDescs;
    }
    /*
		 * there is course editor environment, we can check further. Iterate over
		 * all conditions of this course node, validate the condition expression and
		 * transform the condition error message into a status description
		 */
    for (int i = 0; i < condExprs.size(); i++) {
        ConditionExpression ce = condExprs.get(i);
        ConditionErrorMessage[] cems = cev.validateConditionExpression(ce);
        if (cems != null && cems.length > 0) {
            for (int j = 0; j < cems.length; j++) {
                StatusDescription sd = new StatusDescription(StatusDescription.WARNING, cems[j].errorKey, cems[j].solutionMsgKey, cems[j].errorKeyParams, translatorStr);
                sd.setDescriptionForUnit(getIdent());
                condExprsStatusDescs.add(sd);
            }
        }
    }
    condExprsStatusDescs.add(first);
    return condExprsStatusDescs;
}
Also used : StatusDescription(org.olat.course.editor.StatusDescription) ConditionExpression(org.olat.course.condition.interpreter.ConditionExpression) ArrayList(java.util.ArrayList) ConditionErrorMessage(org.olat.course.condition.interpreter.ConditionErrorMessage)

Example 19 with StatusDescription

use of org.olat.course.editor.StatusDescription in project openolat by klemens.

the class IQTESTCourseNode method isConfigValid.

/**
 * @see org.olat.course.nodes.CourseNode#isConfigValid()
 */
@Override
public StatusDescription isConfigValid() {
    /*
		 * first check the one click cache
		 */
    if (oneClickStatusCache != null) {
        return oneClickStatusCache[0];
    }
    boolean isValid = getModuleConfiguration().get(IQEditController.CONFIG_KEY_REPOSITORY_SOFTKEY) != null;
    if (isValid) {
        /*
			 * COnfiugre an IQxxx BB with a repo entry, do not publish
			 * this BB, mark IQxxx as deleted, remove repo entry, undelete BB IQxxx
			 * and bang you enter this if.
			 */
        Object repoEntry = IQEditController.getIQReference(getModuleConfiguration(), false);
        if (repoEntry == null) {
            isValid = false;
            IQEditController.removeIQReference(getModuleConfiguration());
        }
    }
    StatusDescription sd = StatusDescription.NOERROR;
    if (!isValid) {
        String shortKey = "error.test.undefined.short";
        String longKey = "error.test.undefined.long";
        String[] params = new String[] { getShortTitle() };
        sd = new StatusDescription(StatusDescription.ERROR, shortKey, longKey, params, translatorStr);
        sd.setDescriptionForUnit(getIdent());
        // set which pane is affected by error
        sd.setActivateableViewIdentifier(IQEditController.PANE_TAB_IQCONFIG_TEST);
    }
    return sd;
}
Also used : StatusDescription(org.olat.course.editor.StatusDescription)

Example 20 with StatusDescription

use of org.olat.course.editor.StatusDescription in project openolat by klemens.

the class ProjectBrokerCourseNode method isConfigValid.

/**
 * @see org.olat.course.nodes.CourseNode#isConfigValid()
 */
public StatusDescription isConfigValid() {
    /*
		 * first check the one click cache
		 */
    if (oneClickStatusCache != null) {
        return oneClickStatusCache[0];
    }
    boolean isValid = true;
    Boolean hasScoring = (Boolean) getModuleConfiguration().get(CONF_SCORING_ENABLED);
    if (hasScoring.booleanValue()) {
        if (!MSEditFormController.isConfigValid(getModuleConfiguration()))
            isValid = false;
    }
    StatusDescription sd = StatusDescription.NOERROR;
    if (!isValid) {
        String shortKey = NLS_ERROR_MISSINGSCORECONFIG_SHORT;
        String longKey = NLS_ERROR_MISSINGSCORECONFIG_SHORT;
        String[] params = new String[] { this.getShortTitle() };
        String translPackage = Util.getPackageName(MSEditFormController.class);
        sd = new StatusDescription(StatusDescription.ERROR, shortKey, longKey, params, translPackage);
        sd.setDescriptionForUnit(getIdent());
    // set which pane is affected by error
    }
    return sd;
}
Also used : StatusDescription(org.olat.course.editor.StatusDescription)

Aggregations

StatusDescription (org.olat.course.editor.StatusDescription)82 ArrayList (java.util.ArrayList)20 ModuleConfiguration (org.olat.modules.ModuleConfiguration)10 List (java.util.List)4 Condition (org.olat.course.condition.Condition)4 PublishProcess (org.olat.course.editor.PublishProcess)4 PublishSetInformations (org.olat.course.editor.PublishSetInformations)4 CourseNode (org.olat.course.nodes.CourseNode)4 CourseEditorTreeModel (org.olat.course.tree.CourseEditorTreeModel)4 BusinessGroupService (org.olat.group.BusinessGroupService)4 ChecklistEditController (de.bps.course.nodes.cl.ChecklistEditController)2 VCEditController (de.bps.course.nodes.vc.VCEditController)2 VCProvider (de.bps.course.nodes.vc.provider.VCProvider)2 Checklist (de.bps.olat.modules.cl.Checklist)2 Checkpoint (de.bps.olat.modules.cl.Checkpoint)2 File (java.io.File)2 FileNotFoundException (java.io.FileNotFoundException)2 IOException (java.io.IOException)2 IdentityRef (org.olat.basesecurity.IdentityRef)2 CollaborationTools (org.olat.collaboration.CollaborationTools)2