From e40def72a4139fb99cf18f608d4d0039ef97ab4a Mon Sep 17 00:00:00 2001 From: Richard Alam <ritzalam@gmail.com> Date: Fri, 6 Dec 2019 13:46:02 -0800 Subject: [PATCH] - enforce only mic settings when disabling mic --- .../main/scala/org/bigbluebutton/LockSettingsUtil.scala | 2 +- .../apps/users/ChangeLockSettingsInMeetingCmdMsgHdlr.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala index aea42a2fb4..600e03fbfe 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala @@ -22,7 +22,7 @@ object LockSettingsUtil { private def applyMutingOfUsers(disableMic: Boolean, liveMeeting: LiveMeeting, outGW: OutMsgRouter): Unit = { VoiceUsers.findAll(liveMeeting.voiceUsers) foreach { vu => Users2x.findWithIntId(liveMeeting.users2x, vu.intId).foreach { user => - if (user.role == Roles.VIEWER_ROLE && !vu.listenOnly) { + if (user.role == Roles.VIEWER_ROLE && !vu.listenOnly && !user.locked) { // Apply lock setting to users who are not listen only. (ralam dec 6, 2019) muteUserInVoiceConf(liveMeeting, outGW, vu, disableMic) } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ChangeLockSettingsInMeetingCmdMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ChangeLockSettingsInMeetingCmdMsgHdlr.scala index c0de4bea16..6fd630e20f 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ChangeLockSettingsInMeetingCmdMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ChangeLockSettingsInMeetingCmdMsgHdlr.scala @@ -35,9 +35,14 @@ trait ChangeLockSettingsInMeetingCmdMsgHdlr extends RightsManagementTrait { if (!MeetingStatus2x.permissionsEqual(liveMeeting.status, settings) || !MeetingStatus2x.permisionsInitialized(liveMeeting.status)) { MeetingStatus2x.initializePermissions(liveMeeting.status) + val oldPermissions = MeetingStatus2x.getPermissions(liveMeeting.status) + MeetingStatus2x.setPermissions(liveMeeting.status, settings) - LockSettingsUtil.enforceLockSettingsForAllVoiceUsers(liveMeeting, outGW) + if (!oldPermissions.disableMic && settings.disableMic) { + // Apply lock settings when disableMic from false to true. + LockSettingsUtil.enforceLockSettingsForAllVoiceUsers(liveMeeting, outGW) + } val routing = Routing.addMsgToClientRouting( MessageTypes.BROADCAST_TO_MEETING, -- GitLab