From dfe2f6e1ba645d9d14bb85e797d0ef48bb9baeee Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Tue, 19 May 2020 18:40:03 +0200
Subject: [PATCH] OO-4701: lead time in BigBlueButton meeting only for
 moderators

---
 .../bigbluebutton/ui/BigBlueButtonMeetingController.java        | 2 +-
 .../bigbluebutton/ui/EditBigBlueButtonMeetingController.java    | 1 +
 .../modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties   | 1 +
 .../modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties   | 1 +
 .../modules/bigbluebutton/ui/_i18n/LocalStrings_fr.properties   | 1 +
 5 files changed, 5 insertions(+), 1 deletion(-)

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 fe56f6fff44..246e603b902 100644
--- a/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java
+++ b/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonMeetingController.java
@@ -158,7 +158,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 e9bdb88c80f..e53d5c6ebd5 100644
--- a/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java
+++ b/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonMeetingController.java
@@ -184,6 +184,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 ba3f5ff987d..db52545f0ec 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 1544cdd5234..b8f5b002aa1 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 0ce54dc26cf..1c00b63b205 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
-- 
GitLab