{{'jitsi.rooms.moderationUrl' | i18n}} |
-
{{ jitsiRoom.moderationUrl }}
open_in_new
-
{{ jitsiRoom.moderationUrl }}
@@ -92,6 +97,16 @@
+
+
+
+
+
+ {{'jitsi.rooms.error.moderationStarts' | i18n}}
+
+
+
diff --git a/src/app/pages/jitsi/jitsi.component.ts b/src/app/pages/jitsi/jitsi.component.ts
index 4d41c1c..c3ddcf9 100644
--- a/src/app/pages/jitsi/jitsi.component.ts
+++ b/src/app/pages/jitsi/jitsi.component.ts
@@ -26,7 +26,7 @@ export class JitsiComponent implements OnInit {
working: boolean;
datetimeformat: String;
- jitsiRoomsColumns = ["share", "room", "starts", "expires", "moderationUrl", "delete"];
+ jitsiRoomsColumns = ["share", "room", "starts", "moderationStarts", "expires", "moderationUrl", "delete"];
constructor(
private quotaService: QuotaService,
@@ -41,6 +41,7 @@ export class JitsiComponent implements OnInit {
this.form = this.formBuilder.group({
room: ['', Validators.required],
starts: ['', Validators.nullValidator],
+ moderationStarts: ['', Validators.nullValidator],
expires: ['', Validators.nullValidator],
});
@@ -49,6 +50,10 @@ export class JitsiComponent implements OnInit {
create(): void {
this.working = true;
+ if(!this.jitsiRoom.starts) {
+ this.jitsiRoom.moderationStarts = null;
+ }
+
this.jitsiService.create(this.jitsiRoom).subscribe(response => {
this.update();
this.formDirective.resetForm();
@@ -114,6 +119,7 @@ export class JitsiComponent implements OnInit {
switch(sort.active) {
case 'room': return this.compare(a.room, b.room, isAsc);
case 'starts': return this.compare(a.room, b.room, isAsc);
+ case 'moderationStarts': return this.compare(a.room, b.room, isAsc);
case 'expires': return this.compare(a.room, b.room, isAsc);
default: return 0;
}
@@ -131,8 +137,8 @@ export class JitsiComponent implements OnInit {
});
}
- open(jitsiRoom: any) {
- return (!jitsiRoom.starts || new Date(jitsiRoom.start) < new Date()) && (!jitsiRoom.expires || new Date(jitsiRoom.expires) > new Date());
+ open(jitsiRoom: any, moderation: boolean) {
+ return (moderation || !jitsiRoom.starts || Date.parse(jitsiRoom.starts) < new Date().getTime()) && (!jitsiRoom.expires || Date.parse(jitsiRoom.expires) > new Date().getTime()) && (!moderation || (jitsiRoom.moderationStarts != null && Date.parse(jitsiRoom.moderationStarts) < new Date().getTime()));
}
}
diff --git a/src/assets/i18n/de-informal.json b/src/assets/i18n/de-informal.json
index 5dbd241..30b67be 100644
--- a/src/assets/i18n/de-informal.json
+++ b/src/assets/i18n/de-informal.json
@@ -35,13 +35,14 @@
"delete": "Löschen",
"error": {
"expires": "Ungültiges Ende.",
- "room": "Bitte gebe einen gültigen Namen an. Erlaubt sind nur Buchstaben und Zahlen.",
+ "room": "Bitte gebe einen anderen Namen an. Der Name ist schon vergeben oder enthält ungültige Zeichen. Erlaubt sind nur Buchstaben und Zahlen.",
"starts": "Ungültiger Beginn."
},
"expires": "Ende",
"info": "Du kannst hier Jitsi Räume erstellen. Die Anzahl wird über eine Quota begrenzt.",
"left": "Du kannst noch {0} Jitsi Raum/Räume erstellen.",
"moderationUrl": "Url für Moderation",
+ "moderationStarts" : "Beginn Moderation",
"noQuota": "Deine Quota für Jitsi Räume ist leider aufgebraucht.",
"notStarted" : "Die Konferenz hat noch nicht begonnen.",
"room": "Name",
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index 7d30535..bff89c0 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -35,12 +35,13 @@
"delete": "Delete",
"error": {
"expires": "Invalid expiry.",
- "room": "Please provide a valid name. Only letters and numbers are allowed.",
+ "room": "Please choose a different name. The name is already taken or contains invalid characters. Only letters and numbers are allowed.",
"starts": "Invalid start."
},
"expires": "Expires",
"info": "You can create new Jitsi Rooms here. The number is limited due to a quota.",
"left": "You have {0} Jitsi Room(s) left.",
+ "moderationStarts" : "Moderation starts",
"moderationUrl": "Moderation url",
"noQuota": "Your quota for Jitsi Rooms is depleted.",
"notStarted" : "The conference has not started yet.",
|