Add contextmenu action for calendar VC events in order to access recordings

This commit is contained in:
Hadi Nategh 2021-03-24 17:45:32 +01:00
parent 87ff6842ea
commit abf2cb56e2
3 changed files with 26 additions and 6 deletions

View File

@ -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,
]
]
];

View File

@ -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

View File

@ -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);
}
}
/**