Show the dial-in info in the sidebar

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-11-03 19:11:59 +01:00
Родитель 84b75970bb
Коммит 23aab9ed18
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7076EA9751AACDDA
5 изменённых файлов: 89 добавлений и 1 удалений

Просмотреть файл

@ -159,6 +159,9 @@ class RoomController extends AEnvironmentAwareController {
$this->config->getAppValue('spreed', 'allowed_groups', '') . '#' .
$this->config->getAppValue('spreed', 'start_conversations', '') . '#' .
$this->config->getAppValue('spreed', 'has_reference_id', '') . '#' .
$this->config->getAppValue('spreed', 'sip_bridge_groups', '[]') . '#' .
$this->config->getAppValue('spreed', 'sip_bridge_dialin_info') . '#' .
$this->config->getAppValue('spreed', 'sip_bridge_shared_secret') . '#' .
$this->config->getAppValue('theming', 'cachebuster', '1')
)];
}

Просмотреть файл

@ -232,7 +232,7 @@ class GuestManager {
$template->addBodyListItem(
$pin,
$this->l->t('PIN'),
$this->l->t('Your PIN'),
$this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/password.png'))
);
}

Просмотреть файл

@ -67,6 +67,11 @@ trait TInitialState {
'talk', 'signaling_mode',
$this->talkConfig->getSignalingMode()
);
$this->initialStateService->provideInitialState(
'talk', 'sip_dialin_info',
$this->talkConfig->getDialInInfo()
);
}
protected function publishInitialStateForUser(IUser $user, IRootFolder $rootFolder, IAppManager $appManager): void {

Просмотреть файл

@ -59,6 +59,10 @@
icon="icon-settings">
<SetGuestUsername
v-if="!getUserId" />
<SipSettings
v-if="showSIPSettings"
:meeting-id="conversation.token"
:attendee-pin="conversation.attendeePin" />
<CollectionList
v-if="getUserId && conversation.token"
:id="conversation.token"
@ -90,6 +94,7 @@ import ParticipantsTab from './Participants/ParticipantsTab'
import MatterbridgeSettings from './Matterbridge/MatterbridgeSettings'
import isInLobby from '../../mixins/isInLobby'
import SetGuestUsername from '../SetGuestUsername'
import SipSettings from './SipSettings'
export default {
name: 'RightSidebar',
@ -100,6 +105,7 @@ export default {
CollectionList,
ParticipantsTab,
SetGuestUsername,
SipSettings,
MatterbridgeSettings,
},
@ -148,6 +154,7 @@ export default {
type: CONVERSATION.TYPE.PUBLIC,
lobbyState: WEBINAR.LOBBY.NONE,
lobbyTimer: 0,
attendeePin: '',
}
},
@ -199,6 +206,11 @@ export default {
isRenamingConversation() {
return this.$store.getters.isRenamingConversation
},
showSIPSettings() {
return this.conversation.sipEnabled === WEBINAR.SIP.ENABLED
&& this.conversation.attendeePin !== ''
},
},
watch: {

Просмотреть файл

@ -0,0 +1,68 @@
<!--
- @copyright Copyright (c) 2020 Joas Schilling <coding@schilljs.com>
-
- @author Joas Schilling <coding@schilljs.com>
-
- @license GNU AGPL version 3 or any later version
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<template>
<div>
<h3>{{ t('spreed', 'Dial-in information') }}</h3>
<p>{{ dialInInfo }}</p>
<p>{{ meetingIdLabel }}</p>
<p>{{ attendeePinLabel }}</p>
</div>
</template>
<script>
import { loadState } from '@nextcloud/initial-state'
export default {
name: 'SipSettings',
props: {
attendeePin: {
type: String,
required: true,
},
meetingId: {
type: String,
required: true,
},
},
data() {
return {
dialInInfo: loadState('talk', 'sip_dialin_info'),
}
},
computed: {
meetingIdLabel() {
return t('spreed', 'Meeting ID: {meetingId}', {
meetingId: this.meetingId,
})
},
attendeePinLabel() {
return t('spreed', 'Your PIN: {attendeePin}', {
attendeePin: this.attendeePin,
})
},
},
}
</script>