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

Merge remote-tracking branch 'origin/OpenOLAT_14.2' into OpenOLAT_15.0

parents 2081d12b 51c09e8b
No related branches found
No related tags found
No related merge requests found
......@@ -82,10 +82,6 @@ public class BGConfigToolsStepController extends StepFormBasicController {
String[] availableTools = CollaborationToolsFactory.getInstance().getAvailableTools().clone();
for (String k : availableTools) {
if (k.equals(CollaborationTools.TOOL_CHAT) || k.equals(CollaborationTools.TOOL_NEWS)) {
continue;
}
String[] keys = new String[]{ "on" };
String[] values = new String[]{ translate("collabtools.named." + k) };
......
......@@ -76,6 +76,7 @@ import org.olat.core.id.context.ContextEntry;
import org.olat.core.logging.AssertException;
import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
import org.olat.core.util.Formatter;
import org.olat.core.util.StringHelper;
import org.olat.core.util.Util;
import org.olat.core.util.coordinate.CoordinatorManager;
import org.olat.core.util.coordinate.LockResult;
......@@ -962,6 +963,7 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
String identifier = metadata.getOpenOLATMetadataIdentifier();
metadata.setOpenOLATMetadataMasterIdentifier(identifier);
metadata.setOpenOLATMetadataIdentifier(UUID.randomUUID().toString());
metadata.setOpenOLATMetadataCreator(getCreator());
doSaveManifest();
// reselect the node (--force)
......@@ -972,6 +974,20 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
return doReloadItem(ureq);
}
private String getCreator() {
StringBuilder sb = new StringBuilder();
String firstName = getIdentity().getUser().getFirstName();
if(StringHelper.containsNonWhitespace(firstName)) {
sb.append(firstName);
}
String lastName = getIdentity().getUser().getFirstName();
if(StringHelper.containsNonWhitespace(lastName)) {
if(StringHelper.containsNonWhitespace(firstName)) sb.append(" ");
sb.append(lastName);
}
return sb.toString();
}
private TreeNode doReloadItem(UserRequest ureq) {
TreeNode selectedNode = menuTree.getSelectedNode();
updateTreeModel(false);
......
......@@ -210,6 +210,9 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
private TestHolder loadQuestionMetadata(RepositoryEntry testEntry) {
TestHolder testHolder = new TestHolder(testEntry);
String owners = getOwners(testEntry);
testHolder.setOwners(owners);
List<QuestionInformations> questionList = new ArrayList<>(32);
if(testHolder.isOk()) {
AssessmentTest assessmentTest = testHolder.getAssessmentTest();
......@@ -222,10 +225,6 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
}
}
testHolder.setQuestionList(questionList);
String owners = getOwners(testEntry);
testHolder.setOwners(owners);
return testHolder;
}
......@@ -277,31 +276,27 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
private QuestionInformations loadQuestionMetadata(AssessmentItemRef itemRef, TestHolder testHolder) {
QuestionInformations infos = null;
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef);
ManifestMetadataBuilder metadata = testHolder.getManifestMetadataBuilder(itemRef);
if(metadata == null) {
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef);
if(assessmentItem != null) {
infos = new QuestionInformations(assessmentItem);
}
} else if(!StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataIdentifier())) {
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef);
if(assessmentItem != null) {
infos = new QuestionInformations(assessmentItem, metadata);
} else {
infos = new QuestionInformations(metadata);
}
infos = new QuestionInformations(assessmentItem, metadata, testHolder.getOwners());
} else {
String identifier = metadata.getOpenOLATMetadataIdentifier();
String masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
List<QuestionItem> items = qpoolService.loadItemByIdentifier(identifier);
if(items.isEmpty()) {
infos = new QuestionInformations(metadata);
infos = new QuestionInformations(assessmentItem, metadata, testHolder.getOwners());
} else {
QuestionItem item = items.get(0);
String authors = getAuthors(item);
infos = new QuestionInformations(authors, item);
}
String masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
if(StringHelper.containsNonWhitespace(masterIdentifier)) {
List<QuestionItem> masterItems = qpoolService.loadItemByIdentifier(masterIdentifier);
if(!masterItems.isEmpty()) {
......@@ -312,7 +307,6 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
}
}
}
return infos;
}
......@@ -434,31 +428,30 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
masterIdentifier = item.getMasterIdentifier();
}
public QuestionInformations(ManifestMetadataBuilder metadata) {
identifier = metadata.getOpenOLATMetadataIdentifier();
title = metadata.getTitle();
author = null;
keywords = metadata.getGeneralKeywords();
taxonomyPath = metadata.getClassificationTaxonomy();
topic = metadata.getOpenOLATMetadataTopic();
context = metadata.getEducationContext();
type = metadata.getOpenOLATMetadataQuestionType();
masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
}
public QuestionInformations(AssessmentItem item, ManifestMetadataBuilder metadata) {
public QuestionInformations(AssessmentItem assessmentItem, ManifestMetadataBuilder metadata, String testOwners) {
identifier = metadata.getOpenOLATMetadataIdentifier();
if(StringHelper.containsNonWhitespace(metadata.getTitle())) {
title = metadata.getTitle();
} else {
title = item.getTitle();
title = assessmentItem.getTitle();
}
author = null;
if(StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataCreator())) {
author = metadata.getOpenOLATMetadataCreator();
} else if(StringHelper.containsNonWhitespace(testOwners)) {
author = testOwners;
} else {
author = null;
}
keywords = metadata.getGeneralKeywords();
taxonomyPath = metadata.getClassificationTaxonomy();
topic = metadata.getOpenOLATMetadataTopic();
context = metadata.getEducationContext();
type = metadata.getOpenOLATMetadataQuestionType();
if(StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataQuestionType())) {
type = metadata.getOpenOLATMetadataQuestionType();
} else {
type = QTI21QuestionType.getType(assessmentItem).name();
}
masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
}
......
......@@ -4,7 +4,7 @@ admin.menu.report.question.title.alt=Fragen zu Test
report.course.displayname=Titel Kurs
report.course.externalref=Kennzeichen Kurs
report.course.id=Kurs ID
report.explain=Report alle Fragen in gew\u00E4hlten Test
report.explain=Report: gew\u00E4hlte Tests inklusive aller enthaltenen Fragen
report.question.title=Titel der Frage
report.question.author=Ersteller der Frage (Besitzer)
report.question.identifier=Frage ID
......@@ -22,7 +22,7 @@ report.test.displayname=Titel der Lernressource Test
report.test.externalref=Test Kennzeichen
report.test.author=Ersteller Test (Besitzer)
search=Suchen
search.empty=Es wurden keine Test gefunden die Ihren Kriterien entsprechen.
search.empty=Es wurden keine Tests gefunden, die ihren Kriterien entsprechen.
search.text=Titel / Kennzeichen / ID
search.author=Autor / Besitzer
warning.at.least.one.test=Sie m\u00FCssen mindestens ein Test w\u00E4hlen.
#Thu Dec 07 19:13:19 CET 2017
admin.menu.report.question.title=Questions to tests
admin.menu.report.question.title.alt=Questions to tests
atleastone.test=Sie m\u00FCssen mindestens ein Test w\u00E4hlen.
report.course.displayname=Course title
report.course.externalref=Course reference
report.course.id=Course ID
report.explain=Report all questions in the selected tests.
report.explain=Report: selected tests including all contained questions
report.question.title=Question's title
report.question.author=Question's creator (owner)
report.question.identifier=Question ID
......@@ -23,7 +22,7 @@ report.test.displayname=Title of the learn resource test
report.test.externalref=Test reference
report.test.author=Test creator (owner)
search=Search
search.empty=No tests found that matches the given criteria.
search.empty=No tests were found that met your criteria.
search.text=Title / Ext. Ref. / ID
search.author=Author / owner
warning.at.least.one.meeting=You must select at least one test.
......
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