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

Merge OpenOLAT 11.2 to OpenOLAT default branch with 5b7bc12b92060399aaa1bb21bcd47bfeb72d9fd8

parents 7cb529e5 3e9f74f5
No related branches found
No related tags found
No related merge requests found
......@@ -328,6 +328,13 @@ public class AuthenticatedDispatcher implements Dispatcher {
Window w = windowBackOffice.getWindow();
w.dispatchRequest(ureq, true); // renderOnly
} catch (Exception e) {
// try to render something
try {
Window w = windowBackOffice.getWindow();
w.dispatchRequest(ureq, true); // renderOnly
} catch (Exception e1) {
redirectToDefaultDispatcher(ureq.getHttpReq(), ureq.getHttpResp());
}
log.error("", e);
}
}
......
......@@ -371,6 +371,23 @@ public class MultipleChoiceAssessmentItemBuilder extends SimpleChoiceAssessmentI
ResponseElse responseElse = new ResponseElse(rule);
rule.setResponseElse(responseElse);
{//outcome score
SetOutcomeValue scoreOutcome = new SetOutcomeValue(responseElse);
scoreOutcome.setIdentifier(QTI21Constants.SCORE_IDENTIFIER);
responseElse.getResponseRules().add(scoreOutcome);
Sum sum = new Sum(scoreOutcome);
scoreOutcome.getExpressions().add(sum);
Variable scoreVar = new Variable(sum);
scoreVar.setIdentifier(QTI21Constants.SCORE_CLX_IDENTIFIER);
sum.getExpressions().add(scoreVar);
MapResponse mapResponse = new MapResponse(sum);
mapResponse.setIdentifier(choiceInteraction.getResponseIdentifier());
sum.getExpressions().add(mapResponse);
}
{// outcome feedback
SetOutcomeValue incorrectOutcomeValue = new SetOutcomeValue(responseElse);
incorrectOutcomeValue.setIdentifier(QTI21Constants.FEEDBACKBASIC_IDENTIFIER);
......
......@@ -207,7 +207,8 @@ public class QTI12To21Converter {
RubricBlock rubricBlock = assessmentSection.getRubricBlocks().get(0);
rubricBlock.getBlocks().clear();
htmlBuilder.appendHtml(rubricBlock, section.getObjectives());
String objectives = section.getObjectives();
htmlBuilder.appendHtml(rubricBlock, prepareContent(objectives));
boolean shuffle = SelectionOrdering.RANDOM.equals(section.getSelection_ordering().getOrderType());
assessmentSection.getOrdering().setShuffle(shuffle);
......@@ -263,7 +264,7 @@ public class QTI12To21Converter {
//collect max score
Double maxScore = QtiNodesExtractor.extractMaxScore(assessmentItem);
if(maxScore != null) {
if(maxScore != null && maxScore.doubleValue() > 0.0d) {
atomicMaxScore.add(maxScore.doubleValue());
}
}
......
......@@ -123,7 +123,7 @@ public class EPArtefactPoolRunController extends BasicController implements Acti
putInitialPanel(viewComp);
} else {
putInitialPanel(new Panel("empty"));
putInitialPanel(createVelocityContainer("portfolio_disabled"));
}
}
......@@ -278,16 +278,18 @@ public class EPArtefactPoolRunController extends BasicController implements Acti
public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
if(entries == null || entries.isEmpty()) return;
String type = entries.get(0).getOLATResourceable().getResourceableTypeName();
if("All".equalsIgnoreCase(type)) {
initTPAllView(ureq);
segmentView.select(artefactsLink);
} else if("Browse".equalsIgnoreCase(type)) {
initTPBrowseView(ureq);
segmentView.select(browseLink);
} else if("Search".equalsIgnoreCase(type)) {
initTPFilterView(ureq);
segmentView.select(searchLink);
if(portfolioModule.isEnabled()) {
String type = entries.get(0).getOLATResourceable().getResourceableTypeName();
if("All".equalsIgnoreCase(type)) {
initTPAllView(ureq);
segmentView.select(artefactsLink);
} else if("Browse".equalsIgnoreCase(type)) {
initTPBrowseView(ureq);
segmentView.select(browseLink);
} else if("Search".equalsIgnoreCase(type)) {
initTPFilterView(ureq);
segmentView.select(searchLink);
}
}
}
......
<div class="o_warning" role="alert"><i class="o_icon o_icon-fw o_icon_important"> </i> $r.translate("warning.portfolio.module.disabled")</div>
\ No newline at end of file
......@@ -52,6 +52,7 @@ view.mode.table=Tabelle
viewTab.all=Artefakte
viewTab.browse=Tag-Browser
viewTab.search=Suche
warning.portfolio.module.disabled=ePortfolio v1 ist nicht eingeschaltet.
wizard.intro=Das Artefakt-Sammelwerkzeug enth\u00E4lt verschiedene Schritte in einem Wizard. Einige der Schritte k\u00F6nnen Sie je nach Bedarf aktivieren oder deaktivieren.
wizard.step.copyright=Urheberschaft vom Benutzer best\u00E4tigen lassen
wizard.step.reflexion=Reflexion erfassen
......
......@@ -52,6 +52,7 @@ view.mode.table=Table
viewTab.all=Artefacts
viewTab.browse=Tag browser
viewTab.search=Search
warning.portfolio.module.disabled=ePortfolio v1 is disabled.
wizard.intro=Within the accumulative artefact tool there are several steps to complete. Some of them are optional. You can completely disable those steps if not needed.
wizard.step.copyright=Ask user for copyright
wizard.step.reflexion=Collect a reflexion
......
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