add compatibility to nextcloud app jitsi_calendar

This commit is contained in:
stefan.tollkuehn committed 2026-10-07 22:14:56 +02:00
1 parent 88a9827de2
commit c172c057eb
2 files changed
+27 -11

No files matched your search

+8 -4
View File
@@ -83,7 +83,8 @@
"endTimeRequired": "Please select an end time", "endTimeRequired": "Please select an end time",
"endAfterStart": "End time must be after start time", "endAfterStart": "End time must be after start time",
"organizerRequired": "Please enter an organizer email", "organizerRequired": "Please enter an organizer email",
"organizerInvalid": "Please enter a valid organizer email address" "organizerInvalid": "Please enter a valid organizer email address",
"nextcloudButton": "Create in Nextcloud Calendar"
} }
}, },
"de": { "de": {
@@ -170,7 +171,8 @@
"endTimeRequired": "Bitte wählen Sie eine Endzeit", "endTimeRequired": "Bitte wählen Sie eine Endzeit",
"endAfterStart": "Die Endzeit muss nach der Startzeit liegen", "endAfterStart": "Die Endzeit muss nach der Startzeit liegen",
"organizerRequired": "Bitte geben Sie eine Organisator-E-Mail ein", "organizerRequired": "Bitte geben Sie eine Organisator-E-Mail ein",
"organizerInvalid": "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein" "organizerInvalid": "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein",
"nextcloudButton": "Im Nextcloud-Kalender erstellen"
} }
}, },
"fr": { "fr": {
@@ -257,7 +259,8 @@
"endTimeRequired": "Veuillez sélectionner une heure de fin", "endTimeRequired": "Veuillez sélectionner une heure de fin",
"endAfterStart": "L'heure de fin doit être après l'heure de début", "endAfterStart": "L'heure de fin doit être après l'heure de début",
"organizerRequired": "Veuillez entrer un email d'organisateur", "organizerRequired": "Veuillez entrer un email d'organisateur",
"organizerInvalid": "Veuillez entrer une adresse email d'organisateur valide" "organizerInvalid": "Veuillez entrer une adresse email d'organisateur valide",
"nextcloudButton": "Créer dans le calendrier Nextcloud"
} }
}, },
"zh": { "zh": {
@@ -344,7 +347,8 @@
"endTimeRequired": "请选择结束时间", "endTimeRequired": "请选择结束时间",
"endAfterStart": "结束时间必须晚于开始时间", "endAfterStart": "结束时间必须晚于开始时间",
"organizerRequired": "请输入组织者邮箱", "organizerRequired": "请输入组织者邮箱",
"organizerInvalid": "请输入有效的组织者邮箱地址" "organizerInvalid": "请输入有效的组织者邮箱地址",
"nextcloudButton": "在 Nextcloud 日历中创建"
} }
} }
} }
+19 -7
View File
@@ -14,6 +14,10 @@ const CONFIG = {
* Your Jitsi domain. * Your Jitsi domain.
*/ */
jitsiHost: "meet.bnvb-ingenieure.de", jitsiHost: "meet.bnvb-ingenieure.de",
/*
* Your Nextcloud instance (calendar event creation).
*/
nextcloudBase: "https://cloud.bnvb-ingenieure.de",
/* /*
* Timeout trying to start the jitsi-meet-electron client * Timeout trying to start the jitsi-meet-electron client
*/ */
@@ -1020,13 +1024,13 @@ function openNextcloudCalendarCreator() {
meetingOrganizerInput.value.trim(); meetingOrganizerInput.value.trim();
if (!meetingName) { if (!meetingName) {
alert('Please enter a meeting name.'); alert(getTranslation('creator.meetingNameRequired') || 'Please enter a meeting name.');
meetingNameInput.focus(); meetingNameInput.focus();
return; return;
} }
if (!startTime || !endTime) { if (!startTime || !endTime) {
alert('Please enter start and end time.'); alert(getTranslation('creator.startTimeRequired') || 'Please select a start time.');
return; return;
} }
@@ -1040,7 +1044,18 @@ function openNextcloudCalendarCreator() {
} }
if (end <= start) { if (end <= start) {
alert('End time must be after start time.'); alert(getTranslation('creator.endAfterStart') || 'End time must be after start time.');
return;
}
/*
* Nextcloud validiert die E-Mail serverseitig und
* bricht sonst mit einer Fehlerseite ab.
*/
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (organizer && !emailPattern.test(organizer)) {
alert(getTranslation('creator.organizerInvalid') || 'Please enter a valid organizer email address.');
return; return;
} }
@@ -1053,9 +1068,6 @@ function openNextcloudCalendarCreator() {
const meetingUrl = const meetingUrl =
createLaunchUrl(roomName); createLaunchUrl(roomName);
const nextcloudBase =
'https://cloud.bnvb-ingenieure.de';
const params = new URLSearchParams(); const params = new URLSearchParams();
params.set('summary', meetingName); params.set('summary', meetingName);
@@ -1075,7 +1087,7 @@ function openNextcloudCalendarCreator() {
params.set('url', meetingUrl); params.set('url', meetingUrl);
const nextcloudUrl = const nextcloudUrl =
nextcloudBase + CONFIG.nextcloudBase +
'/index.php/apps/jitsi_calendar/confirm?' + '/index.php/apps/jitsi_calendar/confirm?' +
params.toString(); params.toString();