diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php index 1a27feb1f7..ac7c5c7967 100644 --- a/calendar/inc/class.calendar_uilist.inc.php +++ b/calendar/inc/class.calendar_uilist.inc.php @@ -994,9 +994,17 @@ class calendar_uilist extends calendar_ui 'join' => [ 'caption' => 'Join', 'icon' => 'status/videoconference_join', - 'onExecute' => 'javaScript:app.calendar.joinVideoConferenceAction', + 'onExecute' => 'javaScript:app.calendar.videoConferenceAction', 'enabled' => !EGroupware\Status\Hooks::isVideoconferenceDisabled(), 'allowOnMultiple' => false, + ], + 'recordings' => [ + 'caption' => 'Recordings', + 'icon' => 'status/videoconference_recordings', + 'onExecute' => 'javaScript:app.calendar.videoConferenceAction', + 'enabled' => !EGroupware\Status\Hooks::isVideoconferenceDisabled() + || EGroupware\Status\Hooks::isVCRecordingSupported(), + 'allowOnMultiple' => false, ] ] ]; diff --git a/calendar/js/app.js b/calendar/js/app.js index 7cbfa5ca45..0b1572c25e 100644 --- a/calendar/js/app.js +++ b/calendar/js/app.js @@ -3646,9 +3646,15 @@ var CalendarApp = /** @class */ (function (_super) { * @param _action * @param _sender */ - CalendarApp.prototype.joinVideoConferenceAction = function (_action, _sender) { + CalendarApp.prototype.videoConferenceAction = function (_action, _sender) { var data = egw.dataGetUIDdata(_sender[0].id)['data']; - return this.joinVideoConference(data['##videoconference'], data); + switch (_action.id) { + case 'recordings': + app.status.videoconference_getRecordings(data['##videoconference'], { cal_id: data['id'], title: data['title'] }); + break; + case 'join': + return this.joinVideoConference(data['##videoconference'], data); + } }; /** * Join a videoconference diff --git a/calendar/js/app.ts b/calendar/js/app.ts index 059820ea13..64446a377b 100644 --- a/calendar/js/app.ts +++ b/calendar/js/app.ts @@ -4527,11 +4527,17 @@ class CalendarApp extends EgwApp * @param _action * @param _sender */ - public joinVideoConferenceAction(_action : egwAction, _sender : egwActionObject[]) + public videoConferenceAction(_action : egwAction, _sender : egwActionObject[]) { let data = egw.dataGetUIDdata(_sender[0].id)['data']; - - return this.joinVideoConference(data['##videoconference'], data); + switch(_action.id) + { + case 'recordings': + app.status.videoconference_getRecordings(data['##videoconference'],{cal_id: data['id'], title:data['title']}); + break; + case 'join': + return this.joinVideoConference(data['##videoconference'], data); + } } /**