- allow configuring lock settings from config.xml

This commit is contained in:
Richard Alam 2014-07-31 09:44:42 -07:00
parent 55b31809bc
commit 64fdb9e2f8
6 changed files with 40 additions and 16 deletions

View File

@ -13,6 +13,8 @@
<layout showLogButton="false" showVideoLayout="false" showResetLayout="true" defaultLayout="Default"
showToolbar="true" showFooter="true" showMeetingName="true" showHelpButton="true"
showLogoutWindow="true" showLayoutTools="true" showNetworkMonitor="false" confirmLogout="true"/>
<lock allowModeratorLocking="false" disableCamForLockedUsers="false" disableMicForLockedUsers="false" disablePrivateChatForLockedUsers="false"
disablePublicChatForLockedUsers="false" lockLayoutForLockedUsers="false"/>
<modules>

View File

@ -35,9 +35,11 @@ package org.bigbluebutton.main.model.users {
public var avatarURL:String;
public var voiceBridge:String;
public var dialNumber:String;
[Bindable] public var record:Boolean;
[Bindable] public var record:Boolean;
private var lockSettings:LockSettingsVO;
private static const LOG:String = "main.model.users::Conference - ";
private var lockSettings:LockSettingsVO;
private var _myCamSettings:CameraSettingsVO = new CameraSettingsVO();
@ -424,7 +426,12 @@ package org.bigbluebutton.main.model.users {
public function configLockSettings():void {
var config:Config = BBB.initConfigManager().config;
var allowModeratorLocking:Boolean, disableCam:Boolean, disableMic:Boolean, disablePrivateChat:Boolean, disablePublicChat:Boolean, lockedLayout:Boolean;
var allowModeratorLocking:Boolean,
disableCam:Boolean,
disableMic:Boolean,
disablePrivateChat:Boolean,
disablePublicChat:Boolean,
lockedLayout:Boolean;
var lockConfig:XML;
@ -468,7 +475,11 @@ package org.bigbluebutton.main.model.users {
lockedLayout = false;
}
trace(LOG + " init lock settings from config");
lockSettings = new LockSettingsVO(disableCam, disableMic, disablePrivateChat, disablePublicChat, lockedLayout);
setLockSettings(lockSettings);
}
public function getMyUser():BBBUser {
@ -491,10 +502,14 @@ package org.bigbluebutton.main.model.users {
public function setLockSettings(lockSettings:LockSettingsVO):void {
this.lockSettings = lockSettings;
applyLockSettings();
}
public function applyLockSettings():void {
for (var i:int = 0; i < users.length; i++) {
var eachUser:BBBUser = users.getItemAt(i) as BBBUser;
eachUser.applyLockSettings();
}
}
}
}
}
}

View File

@ -67,15 +67,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:Script>
<![CDATA[
import com.adobe.utils.StringUtil;
import com.asfusion.mate.events.Dispatcher;
import flash.accessibility.AccessibilityProperties;
import com.asfusion.mate.events.Dispatcher;
import flash.accessibility.AccessibilityProperties;
import mx.binding.utils.BindingUtils;
import mx.collections.ArrayCollection;
import mx.controls.Button;
import mx.core.ScrollPolicy;
import mx.core.ScrollPolicy;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.core.UsersUtil;
import org.bigbluebutton.core.events.LockControlEvent;
@ -99,7 +96,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import org.bigbluebutton.modules.chat.vo.ChatMessageVO;
import org.bigbluebutton.util.i18n.ResourceUtil;
private static const LOG:String = "Chat::ChatBox - ";
public var publicChat:Boolean = false;
public var chatWithUserID:String;
public var chatWithUsername:String
@ -185,7 +183,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
if(Capabilities.hasAccessibility)
Accessibility.updateProperties();
lockSettingsChanged(null);
trace(LOG + " onCreationComplete. Apply lock settings");
applyLockSettings();
}
private function focusChatBox(e:ShortcutEvent):void{
@ -621,8 +620,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
txtMsgArea.setFocus();
}
private function lockSettingsChanged(e:Event):void {
private function lockSettingsChanged(e:Event):void {
applyLockSettings();
}
private function applyLockSettings():void {
if (UsersUtil.amIModerator() || UsersUtil.amIPresenter()) return; // Settings only affect viewers.
var userManager:UserManager = UserManager.getInstance();

View File

@ -53,6 +53,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import org.bigbluebutton.util.i18n.ResourceUtil;
import org.bigbluebutton.common.LogUtil;
private static const LOG:String = "Chat::ChatWindow - ";
private var _xPosition:int;
private var _yPosition:int;
private var keyCombos:Object;

View File

@ -280,7 +280,7 @@ package org.bigbluebutton.modules.present.services.messaging
}
private function handleGetPresentationInfoReply(msg:Object) : void {
trace(LOG + "*** handleGetPresentationInfoReply " + msg.msg + " **** \n");
// trace(LOG + "*** handleGetPresentationInfoReply " + msg.msg + " **** \n");
var map:Object = JSON.parse(msg.msg);
var presenterMap:Object = map.presenter as Object;

View File

@ -376,6 +376,8 @@ package org.bigbluebutton.modules.users.services
participantJoined(user);
processUserVoice(user);
}
UserManager.getInstance().getConference().applyLockSettings();
}
}