diff --git a/lib/Controller/RoomController.php b/lib/Controller/RoomController.php index de4d43a8374..70b353c7b06 100644 --- a/lib/Controller/RoomController.php +++ b/lib/Controller/RoomController.php @@ -159,6 +159,8 @@ protected function getTalkHashHeader(): array { $this->config->getAppValue('spreed', 'sip_bridge_dialin_info'), $this->config->getAppValue('spreed', 'sip_bridge_shared_secret'), $this->config->getAppValue('spreed', 'recording_consent'), + $this->config->getAppValue('spreed', 'call_recording_transcription'), + $this->config->getAppValue('spreed', 'call_recording_summary'), $this->config->getAppValue('theming', 'cachebuster', '1'), $this->config->getUserValue($this->userId, 'theming', 'userCacheBuster', '0'), $this->config->getAppValue('spreed', 'federation_incoming_enabled'), diff --git a/lib/Settings/Admin/AdminSettings.php b/lib/Settings/Admin/AdminSettings.php index e03d0a9c75e..6039bfa842e 100644 --- a/lib/Settings/Admin/AdminSettings.php +++ b/lib/Settings/Admin/AdminSettings.php @@ -448,6 +448,8 @@ protected function initRecording(): void { 'uploadLimit' => is_infinite($uploadLimit) ? 0 : $uploadLimit, ]); $this->initialState->provideInitialState('recording_consent', $this->talkConfig->getRecordingConsentConfig()); + $this->initialState->provideInitialState('call_recording_transcription', $this->serverConfig->getAppValue('spreed', 'call_recording_transcription', 'no') === 'yes'); + $this->initialState->provideInitialState('call_recording_summary', $this->serverConfig->getAppValue('spreed', 'call_recording_summary', 'yes') === 'yes'); } protected function initSIPBridge(): void { diff --git a/src/components/AdminSettings/RecordingServers.vue b/src/components/AdminSettings/RecordingServers.vue index f5d7b8d1e7b..364169dfa14 100644 --- a/src/components/AdminSettings/RecordingServers.vue +++ b/src/components/AdminSettings/RecordingServers.vue @@ -72,6 +72,26 @@

+ + @@ -134,6 +154,8 @@ export default { saved: false, showForm: true, recordingConsentSelected: loadState('spreed', 'recording_consent').toString(), + recordingTranscriptionEnabled: loadState('spreed', 'call_recording_transcription'), + recordingSummaryEnabled: loadState('spreed', 'call_recording_summary'), debounceUpdateServers: () => {}, } }, @@ -212,6 +234,24 @@ export default { }) }, + setRecordingTranscription(value) { + this.loading = true + OCP.AppConfig.setValue('spreed', 'call_recording_transcription', value ? 'yes' : 'no', { + success: () => { + this.loading = false + }, + }) + }, + + setRecordingSummary(value) { + this.loading = true + OCP.AppConfig.setValue('spreed', 'call_recording_summary', value ? 'yes' : 'no', { + success: () => { + this.loading = false + }, + }) + }, + getRecordingConsentDescription(value) { switch (value) { case CONFIG.RECORDING_CONSENT.OPTIONAL: