diff --git a/bigbluebutton-html5/imports/ui/components/app/container.jsx b/bigbluebutton-html5/imports/ui/components/app/container.jsx index 7abf5d55bd38597a2dbde05e4a9ac78b82df4e53..3e1af53e04e10874a23bc3e7ddb816e23d1a16c5 100755 --- a/bigbluebutton-html5/imports/ui/components/app/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/app/container.jsx @@ -4,6 +4,7 @@ import { defineMessages, injectIntl } from 'react-intl'; import PropTypes from 'prop-types'; import Auth from '/imports/ui/services/auth'; import Users from '/imports/api/users'; +import mapUser from '/imports/ui/services/user/mapUser'; import Breakouts from '/imports/api/breakouts'; import Meetings from '/imports/api/meetings'; @@ -69,6 +70,7 @@ const AppContainer = (props) => { export default injectIntl(withModalMounter(withTracker(({ intl, baseControls }) => { const currentUser = Users.findOne({ userId: Auth.userID }); + const currentUserIsLocked = mapUser(currentUser).isLocked; const meeting = Meetings.findOne({ meetingId: Auth.meetingID }); const isMeetingBreakout = meetingIsBreakout(); @@ -115,7 +117,7 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls }) pollIsOpen: Session.get('isPollOpen') && Session.get('isUserListOpen'), customStyle: getFromUserSettings('customStyle', false), customStyleUrl: getFromUserSettings('customStyleUrl', false), - micsLocked: (currentUser.locked && meeting.lockSettingsProp.disableMic), + micsLocked: (currentUserIsLocked && meeting.lockSettingsProp.disableMic), }; })(AppContainer))); diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx index 6211484d91a0473c476140b9080374fd5fee53ab..f3e82d48c4417be646f65688d200e2bceed217c8 100644 --- a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx @@ -5,6 +5,7 @@ import AudioManager from '/imports/ui/services/audio-manager'; import { makeCall } from '/imports/ui/services/api'; import Users from '/imports/api/users/'; import Meetings from '/imports/api/meetings'; +import mapUser from '/imports/ui/services/user/mapUser'; import Auth from '/imports/ui/services/auth'; import AudioControls from './component'; import AudioModalContainer from '../audio-modal/container'; @@ -46,7 +47,8 @@ export default withModalMounter(withTracker(({ mountModal }) => handleJoinAudio: () => { const meeting = Meetings.findOne({ meetingId: Auth.meetingID }); const currentUser = Users.findOne({ userId: Auth.userID }); - const micsLocked = (currentUser.locked && meeting.lockSettingsProp.disableMic); + const currentUserIsLocked = mapUser(currentUser).isLocked; + const micsLocked = (currentUserIsLocked && meeting.lockSettingsProp.disableMic); return micsLocked ? Service.joinListenOnly() : mountModal(<AudioModalContainer />); }, diff --git a/bigbluebutton-html5/imports/ui/components/video-provider/service.js b/bigbluebutton-html5/imports/ui/components/video-provider/service.js index 0637da6234d9000cd5f9b17a2638f49cfe97845f..9e3f0f33b74d1af92b06baac615844311098204d 100755 --- a/bigbluebutton-html5/imports/ui/components/video-provider/service.js +++ b/bigbluebutton-html5/imports/ui/components/video-provider/service.js @@ -105,7 +105,7 @@ class VideoService { } isLocked() { - const m = Meetings.findOne({ meetingId: Auth.meetingID }); + const m = Meetings.findOne({ meetingId: Auth.meetingID }) || {}; return m.lockSettingsProp ? m.lockSettingsProp.disableCam : false; }