diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RemoveUserFromPresenterGroupCmdMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RemoveUserFromPresenterGroupCmdMsgHdlr.scala index f7e8281cb855546eb40be6c8bbc57b9e92e2a46c..c61995dca2ded8ab1330cbf7fce7a4e52e6cb911 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RemoveUserFromPresenterGroupCmdMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RemoveUserFromPresenterGroupCmdMsgHdlr.scala @@ -13,17 +13,6 @@ trait RemoveUserFromPresenterGroupCmdMsgHdlr { def handleRemoveUserFromPresenterGroupCmdMsg(msg: RemoveUserFromPresenterGroupCmdMsg) { - def broadcastRemoveUserFromPresenterGroup(meetingId: String, userId: String, requesterId: String): Unit = { - val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, meetingId, userId) - val envelope = BbbCoreEnvelope(UserRemovedFromPresenterGroupEvtMsg.NAME, routing) - val header = BbbClientMsgHeader(UserRemovedFromPresenterGroupEvtMsg.NAME, meetingId, userId) - val body = UserRemovedFromPresenterGroupEvtMsgBody(userId, requesterId) - val event = UserRemovedFromPresenterGroupEvtMsg(header, body) - val msgEvent = BbbCommonEnvCoreMsg(envelope, event) - - outGW.send(msgEvent) - } - if (applyPermissionCheck && !PermissionCheck.isAllowed(PermissionCheck.MOD_LEVEL, PermissionCheck.VIEWER_LEVEL, liveMeeting.users2x, msg.header.userId)) { val meetingId = liveMeeting.props.meetingProp.intId val reason = "No permission to remove user from presenter group." @@ -37,7 +26,7 @@ trait RemoveUserFromPresenterGroupCmdMsgHdlr { } yield { if (requester.role == Roles.MODERATOR_ROLE) { Users2x.removeUserFromPresenterGroup(liveMeeting.users2x, userId) - broadcastRemoveUserFromPresenterGroup(liveMeeting.props.meetingProp.intId, userId, requesterId) + outGW.send(buildRemoveUserFromPresenterGroup(liveMeeting.props.meetingProp.intId, userId, requesterId)) } } } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala index 686cf634d1a83d85a2816c59b6b0b48265d886d5..1b422bf666da34578ec2b643ac9eb01de8ff6f76 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala @@ -43,6 +43,11 @@ trait UserLeaveReqMsgHdlr { pollApp.stopPoll(state, u.intId, liveMeeting, msgBus) } + if (Users2x.userIsInPresenterGroup(liveMeeting.users2x, u.intId)) { + Users2x.removeUserFromPresenterGroup(liveMeeting.users2x, u.intId) + outGW.send(buildRemoveUserFromPresenterGroup(liveMeeting.props.meetingProp.intId, u.intId, u.intId)) + } + def broadcastEvent(vu: VoiceUserState): Unit = { val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, liveMeeting.props.meetingProp.intId, vu.intId) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/HandlerHelpers.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/HandlerHelpers.scala index 3a5bf819779b0f1982e8477242dfd4525aa9f591..ec8374f12a156d69cff3341f9ed95b4745833089 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/HandlerHelpers.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/HandlerHelpers.scala @@ -218,4 +218,13 @@ trait HandlerHelpers extends SystemConfiguration { BbbCommonEnvCoreMsg(envelope, event) } + + def buildRemoveUserFromPresenterGroup(meetingId: String, userId: String, requesterId: String): BbbCommonEnvCoreMsg = { + val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, meetingId, userId) + val envelope = BbbCoreEnvelope(UserRemovedFromPresenterGroupEvtMsg.NAME, routing) + val header = BbbClientMsgHeader(UserRemovedFromPresenterGroupEvtMsg.NAME, meetingId, userId) + val body = UserRemovedFromPresenterGroupEvtMsgBody(userId, requesterId) + val event = UserRemovedFromPresenterGroupEvtMsg(header, body) + BbbCommonEnvCoreMsg(envelope, event) + } } diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index b7281c804ad2838697ea6214a873aa8a4a72aa1d..176d5fd1b09a6251f961c426767cf7ab8133cc03 100755 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -509,6 +509,4 @@ <target name="modules" depends="init-ant-contrib, generate-html-wrapper, compile-screenshare-standalone, build-webcam-preview-standalone, build-webcam-view-standalone, compile-bbb" description="Build BBB client without locales" /> <target name="cleanandmake" depends="clean-build-all" description="Build BBB client including locales" /> - - <target name="build-poll" depends="init-ant-contrib, build-polling" description="Build only the polling module." /> </project>