diff --git a/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_de.properties index 84e56b1cbccf2c8ff4a45b5d239f89dc77c643f2..cca3d851635a996fe95c04b7ba25c97dfb79c006 100644 --- a/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_de.properties @@ -110,8 +110,8 @@ table.header.externalId=$org.olat.repository\:table.header.externalid table.header.externalRef=$org.olat.repository\:table.header.externalref table.header.status=Status table.header.target=F\u00FCr -target.courseAndGroups=Teilnehmer aus Kurs und ausgew\u00E4hlte Gruppen -target.courseGroupsAndCurriculums=Teilnehmer aus Kurs und ausgew\u00E4hlte Gruppen oder Curriculum +target.courseAndGroups=Teilnehmer des Kurses und der ausgew\u00E4hlten Gruppen +target.courseGroupsAndCurriculums=Teilnehmer des Kurses und der ausgew\u00E4hlten Gruppen oder Curriculum target.curriculumElements=Nur Curriculumteilnehmer target.groups=Nur Gruppenteilnehmer target.course=Nur Kursteilnehmer diff --git a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java index 9da7d24c93378ab980c8f8a0fb4ffe4037e422af..67c2a398c3d923c7ea306535610e798d02ba0373 100644 --- a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java +++ b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java @@ -39,6 +39,7 @@ import org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder; import org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder.EntryType; import org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder.TextEntry; import org.olat.ims.qti21.model.xml.interactions.KPrimAssessmentItemBuilder; +import org.olat.ims.qti21.model.xml.interactions.LobAssessmentItemBuilder; import org.olat.ims.qti21.model.xml.interactions.MatchAssessmentItemBuilder; import org.olat.ims.qti21.model.xml.interactions.MultipleChoiceAssessmentItemBuilder; import org.olat.ims.qti21.model.xml.interactions.SimpleChoiceAssessmentItemBuilder; @@ -650,7 +651,8 @@ public class CSVToAssessmentItemConverter { if (itemBuilder instanceof SimpleChoiceAssessmentItemBuilder || itemBuilder instanceof FIBAssessmentItemBuilder || itemBuilder instanceof KPrimAssessmentItemBuilder - || itemBuilder instanceof MatchAssessmentItemBuilder) { + || itemBuilder instanceof MatchAssessmentItemBuilder + || itemBuilder instanceof LobAssessmentItemBuilder) { itemBuilder.setMinScore(0.0d); itemBuilder.setMaxScore(points); } diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java b/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java index 925136c6276286d5c248cfaaedcc8bfade525f1a..71d1460f8e20de7e3fe66ac2560a3b6340aabfe5 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java @@ -159,7 +159,7 @@ public class BigBlueButtonMeetingController extends FormBasicController implemen } Date now = new Date(); - Date start = meeting.getStartWithLeadTime(); + Date start = (administrator || moderator) ? meeting.getStartWithLeadTime() : meeting.getStartDate(); Date end = meeting.getEndWithFollowupTime(); return !((start != null && start.compareTo(now) >= 0) || (end != null && end.compareTo(now) <= 0)); } diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java b/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java index 665d573e5b06e9e4d6d568b0605c496b2666adda..baa43adcda0032f54ed9ddf37e3a7c197f2915d0 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java @@ -186,6 +186,7 @@ public class EditBigBlueButtonMeetingController extends FormBasicController { String leadtime = meeting == null ? null : Long.toString(meeting.getLeadTime()); leadTimeEl = uifactory.addTextElement("meeting.leadTime", 8, leadtime, formLayout); leadTimeEl.setEnabled(editable); + leadTimeEl.setExampleKey("meeting.leadTime.explain", null); Date endDate = meeting == null ? null : meeting.getEndDate(); if (endDate == null && startDate != null) { diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties index ba3f5ff987d5fc94bf5e94ea121d473a03d8afe2..db52545f0ec195ab112ea9b467a23fcb490b8430 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties @@ -60,6 +60,7 @@ meeting.followupTime=Nachlaufzeit (Min.) meeting.go.button=Zum Online-Termin Raum meeting.join.button=Meeting beitreten meeting.leadTime=Vorlaufzeit (Min.) +meeting.leadTime.explain=Die Vorlaufzeit ist nur f\u00FCr Moderatoren relevant. meeting.name=Name meeting.permanent=Online-Termin planung meeting.permanent.on=Ohne Datum diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties index 1544cdd523424ba8506aa33dc6dec44bb3f5dbdd..b8f5b002aa1388be2c037fa64c1789481e7fafa9 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties @@ -60,6 +60,7 @@ meeting.followupTime=Follow-up (min.) meeting.go.button=Go to the onlin-meeting room meeting.join.button=Join the meeting meeting.leadTime=Prep time (min.) +meeting.leadTime.explain=Prep time is only relevant for moderators. meeting.name=Name meeting.permanent=Onine-Meeting scheduling meeting.permanent.on=Without date diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_fr.properties index 0ce54dc26cf6d53e53378a8291f273911918d34f..1c00b63b205692efaaf5a4972cc7452562760552 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_fr.properties @@ -60,6 +60,7 @@ meeting.followupTime=P\u00E9riode de temporisation (min.) meeting.go.button=Aller \u00E0 la salle du meeting meeting.join.button=Rejoindre le meeting meeting.leadTime=Pr\u00E9paration (min.) +meeting.leadTime.explain=La p\u00E9riode de pr\u00E9paration n'est utilis\u00E9e que pour les mod\u00E9rateurs. meeting.name=Nom meeting.permanent=Type meeting.permanent.on=Permanent diff --git a/src/main/java/org/olat/social/shareLink/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/social/shareLink/_i18n/LocalStrings_de.properties index 3cabe78ae5243259ac553057c54bcc08a5124f6c..39ebcfe8e5ebb5b69b962d9543b3c5aa5c57c59a 100644 --- a/src/main/java/org/olat/social/shareLink/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/social/shareLink/_i18n/LocalStrings_de.properties @@ -7,5 +7,5 @@ share.digg=Link auf digg teilen share.mail=Link per Mail versenden share.link=Link kopieren share.qrcode=QR-Code kopieren -landingpage.set.current=Aktuelle Seite in Profil als pers\u00f6nliche Startseite festlegen +landingpage.set.current=Aktuelle Seite im Profil als pers\u00f6nliche Startseite festlegen landingpage.set.message=Die aktuelle Seite wird bei der n\u00e4chsten Anmeldung als Startseite verwendet. diff --git a/src/test/java/org/olat/selenium/page/qti/QTI21CSVImportWizard.java b/src/test/java/org/olat/selenium/page/qti/QTI21CSVImportWizard.java index ea34173f4ecc0173b72a5ddb31255adb642a4d36..0006ef43b0f1bcb4f365b65effd9aa527f7da3b7 100644 --- a/src/test/java/org/olat/selenium/page/qti/QTI21CSVImportWizard.java +++ b/src/test/java/org/olat/selenium/page/qti/QTI21CSVImportWizard.java @@ -20,6 +20,7 @@ package org.olat.selenium.page.qti; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.List; import org.apache.commons.io.IOUtils; @@ -60,7 +61,7 @@ public class QTI21CSVImportWizard { public QTI21CSVImportWizard importFile(String filename) { StringBuilder sb = new StringBuilder(32000); try(InputStream inStream = JunitTestHelper.class.getResourceAsStream("file_resources/" + filename)) { - String content = IOUtils.toString(inStream, "UTF-8"); + String content = IOUtils.toString(inStream, StandardCharsets.UTF_8); String[] lines = content.split("\r?\n"); for(String line:lines) { String[] cols = line.split("\t"); diff --git a/src/test/java/org/olat/selenium/page/user/EfficiencyStatementPage.java b/src/test/java/org/olat/selenium/page/user/EfficiencyStatementPage.java index 35d14203311af24701dee58f0d4221d2bf4a4829..00bdd54de7847fa1ac47cf38066b9f1492445677 100644 --- a/src/test/java/org/olat/selenium/page/user/EfficiencyStatementPage.java +++ b/src/test/java/org/olat/selenium/page/user/EfficiencyStatementPage.java @@ -105,19 +105,9 @@ public class EfficiencyStatementPage { * @return */ public EfficiencyStatementPage assertOnCourseDetails(String testNodeTitle, boolean passed) { - By courseCertificateBy = By.xpath("//div[contains(@class,'o_efficiencystatement')]//table//tr[td/span[contains(text(),'" + testNodeTitle + "')]]"); - List<WebElement> certifiatesTable = browser.findElements(courseCertificateBy); - Assert.assertFalse(certifiatesTable.isEmpty()); - - By by; - if(passed) { - by = By.cssSelector("td.text-left span.o_state.o_passed"); - } else { - by = By.cssSelector("td.text-left span.o_state.o_failed"); - } - List<WebElement> passedEl = certifiatesTable.get(0).findElements(by); - Assert.assertFalse(passedEl.isEmpty()); - Assert.assertTrue(passedEl.get(0).isDisplayed()); + String stateClassname = passed ? "o_passed" : "o_failed"; + By courseCertificateBy = By.xpath("//div[contains(@class,'o_efficiencystatement')]//table//tr[td/span[contains(text(),'" + testNodeTitle + "')]]/td[contains(@class,'text-left')]/span[contains(@class,'o_state')][contains(@class,'" + stateClassname + "')]"); + OOGraphene.waitElement(courseCertificateBy, browser); return this; }