You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/04/17 19:08:47 UTC
svn commit: r1739633 - in /openmeetings/application:
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/
branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/
branches/3.2.x/openmeetings-...
Author: solomax
Date: Sun Apr 17 17:08:47 2016
New Revision: 1739633
URL: http://svn.apache.org/viewvc?rev=1739633&view=rev
Log:
[OPENMEETINGS-896] room is refactored to have hidden elements as list
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Sun Apr 17 17:08:47 2016
@@ -54,6 +54,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.log.ConferenceLog;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.CalendarPatterns;
@@ -1148,7 +1149,7 @@ public class ScopeApplicationAdapter ext
sessionManager.updateClientByStreamId(streamid, currentClient, true, null);
Room room = roomDao.get(roomId);
- if (room.getShowMicrophoneStatus()) {
+ if (!room.getHiddenElements().contains(RoomElement.MicrophoneStatus)) {
currentClient.setCanGiveAudio(true);
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java Sun Apr 17 17:08:47 2016
@@ -23,13 +23,17 @@ import static org.apache.openmeetings.db
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
+import org.apache.wicket.ajax.json.JSONArray;
import org.apache.wicket.ajax.json.JSONObject;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@@ -54,13 +58,7 @@ public class RoomDTO implements Serializ
private boolean allowRecording;
private boolean waitForRecording;
private boolean audioOnly;
- private boolean topBarHidden;
- private boolean chatHidden;
- private boolean activitiesHidden;
- private boolean filesExplorerHidden;
- private boolean actionsMenuHidden;
- private boolean screenSharingHidden;
- private boolean whiteboardHidden;
+ private Set<RoomElement> hiddenElements;
public RoomDTO() {}
@@ -80,17 +78,11 @@ public class RoomDTO implements Serializ
externalType = r.getExternalType();
redirectUrl = r.getRedirectURL();
moderated = r.isModerated();
- allowUserQuestions = r.getAllowUserQuestions();
+ allowUserQuestions = r.isAllowUserQuestions();
allowRecording = r.isAllowRecording();
- waitForRecording = r.getWaitForRecording();
+ waitForRecording = r.isWaitForRecording();
audioOnly = r.isAudioOnly();
- topBarHidden = r.getHideTopBar();
- chatHidden = r.isChatHidden();
- activitiesHidden = r.isActivitiesHidden();
- filesExplorerHidden = r.getHideFilesExplorer();
- actionsMenuHidden = r.getHideActionsMenu();
- screenSharingHidden = r.getHideScreenSharing();
- whiteboardHidden = r.getHideWhiteboard();
+ hiddenElements = r.getHiddenElements();
}
public Room get() {
@@ -113,13 +105,7 @@ public class RoomDTO implements Serializ
r.setAllowRecording(allowRecording);
r.setWaitForRecording(waitForRecording);
r.setAudioOnly(audioOnly);
- r.setHideTopBar(topBarHidden);
- r.setChatHidden(chatHidden);
- r.setActivitiesHidden(activitiesHidden);
- r.setHideFilesExplorer(filesExplorerHidden);
- r.setHideActionsMenu(actionsMenuHidden);
- r.setHideScreenSharing(screenSharingHidden);
- r.setHideWhiteboard(whiteboardHidden);
+ r.setHiddenElements(hiddenElements);
return r;
}
@@ -235,60 +221,12 @@ public class RoomDTO implements Serializ
this.audioOnly = audioOnly;
}
- public boolean isTopBarHidden() {
- return topBarHidden;
+ public Set<RoomElement> getHiddenElements() {
+ return hiddenElements;
}
- public void setTopBarHidden(boolean topBarHidden) {
- this.topBarHidden = topBarHidden;
- }
-
- public boolean isChatHidden() {
- return chatHidden;
- }
-
- public void setChatHidden(boolean chatHidden) {
- this.chatHidden = chatHidden;
- }
-
- public boolean isActivitiesHidden() {
- return activitiesHidden;
- }
-
- public void setActivitiesHidden(boolean activitiesHidden) {
- this.activitiesHidden = activitiesHidden;
- }
-
- public boolean isFilesExplorerHidden() {
- return filesExplorerHidden;
- }
-
- public void setFilesExplorerHidden(boolean filesExplorerHidden) {
- this.filesExplorerHidden = filesExplorerHidden;
- }
-
- public boolean isActionsMenuHidden() {
- return actionsMenuHidden;
- }
-
- public void setActionsMenuHidden(boolean actionsMenuHidden) {
- this.actionsMenuHidden = actionsMenuHidden;
- }
-
- public boolean isScreenSharingHidden() {
- return screenSharingHidden;
- }
-
- public void setScreenSharingHidden(boolean screenSharingHidden) {
- this.screenSharingHidden = screenSharingHidden;
- }
-
- public boolean isWhiteboardHidden() {
- return whiteboardHidden;
- }
-
- public void setWhiteboardHidden(boolean whiteboardHidden) {
- this.whiteboardHidden = whiteboardHidden;
+ public void setHiddenElements(Set<RoomElement> hiddenElements) {
+ this.hiddenElements = hiddenElements;
}
public boolean isPublic() {
@@ -363,13 +301,13 @@ public class RoomDTO implements Serializ
r.allowRecording = o.optBoolean("allowRecording", false);
r.waitForRecording = o.optBoolean("waitForRecording", false);
r.audioOnly = o.optBoolean("audioOnly", false);
- r.topBarHidden = o.optBoolean("topBarHidden", false);
- r.chatHidden = o.optBoolean("chatHidden", false);
- r.activitiesHidden = o.optBoolean("activitiesHidden", false);
- r.filesExplorerHidden = o.optBoolean("filesExplorerHidden", false);
- r.actionsMenuHidden = o.optBoolean("actionsMenuHidden", false);
- r.screenSharingHidden = o.optBoolean("screenSharingHidden", false);
- r.whiteboardHidden = o.optBoolean("whiteboardHidden", false);
+ r.setHiddenElements(new HashSet<RoomElement>());
+ JSONArray hidden = o.optJSONArray("hiddenElements");
+ if (hidden != null) {
+ for (int i = 0; i < hidden.length(); ++i) {
+ r.getHiddenElements().add(RoomElement.valueOf(hidden.getString(i)));
+ }
+ }
return r;
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java Sun Apr 17 17:08:47 2016
@@ -20,10 +20,14 @@ package org.apache.openmeetings.db.entit
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.persistence.CascadeType;
+import javax.persistence.CollectionTable;
import javax.persistence.Column;
+import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
@@ -41,6 +45,7 @@ import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
import org.apache.openjpa.persistence.ElementDependent;
import org.apache.openjpa.persistence.FetchAttribute;
@@ -89,6 +94,18 @@ public class Room implements IDataProvid
public static final int RESTRICTED_TYPE_ID = 3;
public static final int INTERVIEW_TYPE_ID = 4;
+ @XmlType(namespace="org.apache.openmeetings.room.element")
+ public enum RoomElement {
+ TopBar
+ , Chat
+ , Activities
+ , Files
+ , ActionsMenu
+ , ScreenSharing
+ , Whiteboard
+ , MicrophoneStatus
+ }
+
public enum Type {
conference(CONFERENCE_TYPE_ID)
//, audience(2)
@@ -222,45 +239,21 @@ public class Room implements IDataProvid
@Column(name = "allow_recording")
@Element(name = "allowRecording", data = true, required = false)
private boolean allowRecording = true; // Show or show not the recording option in a conference room
- /**
- * Layout of Room
- */
- @Column(name = "hide_top_bar")
- @Element(data = true, required = false)
- private boolean hideTopBar;
-
- @Column(name = "hide_chat")
- @Element(name = "hideChat", data = true, required = false)
- private boolean chatHidden;
-
- @Column(name = "hide_activities_and_actions")
- @Element(name = "hideActivitiesAndActions", data = true, required = false)
- private boolean activitiesHidden;
-
- @Column(name = "hide_files_explorer")
- @Element(data = true, required = false)
- private boolean hideFilesExplorer;
-
- @Column(name = "hide_actions_menu")
- @Element(data = true, required = false)
- private boolean hideActionsMenu;
-
- @Column(name = "hide_screen_sharing")
- @Element(data = true, required = false)
- private boolean hideScreenSharing;
-
- @Column(name = "hide_whiteboard")
- @Element(data = true, required = false)
- private boolean hideWhiteboard;
-
- @Column(name = "show_microphone_status")
- @Element(data = true, required = false)
- private boolean showMicrophoneStatus;
-
+
@Column(name = "chat_moderated")
@Element(data = true, required = false)
private boolean chatModerated;
+ /**
+ * Layout of Room
+ */
+ @ElementCollection(fetch = FetchType.EAGER)
+ @Column(name = "hide_element")
+ @CollectionTable(name = "room_hide_element", joinColumns = @JoinColumn(name = "room_id"))
+ @Enumerated(EnumType.STRING)
+ @ElementList(name="hide_element", data = true, required = false)
+ private Set<RoomElement> hiddenElements = new HashSet<>();
+
@Column(name = "chat_opened")
@Element(data = true, required = false)
private boolean chatOpened;
@@ -430,7 +423,7 @@ public class Room implements IDataProvid
this.externalType = externalType;
}
- public boolean getAllowUserQuestions() {
+ public boolean isAllowUserQuestions() {
return allowUserQuestions;
}
@@ -470,7 +463,7 @@ public class Room implements IDataProvid
this.ownerId = ownerId;
}
- public boolean getWaitForRecording() {
+ public boolean isWaitForRecording() {
return waitForRecording;
}
@@ -486,70 +479,6 @@ public class Room implements IDataProvid
this.allowRecording = allowRecording;
}
- public boolean getHideTopBar() {
- return hideTopBar;
- }
-
- public void setHideTopBar(boolean hideTopBar) {
- this.hideTopBar = hideTopBar;
- }
-
- public boolean isChatHidden() {
- return chatHidden;
- }
-
- public void setChatHidden(boolean chatHidden) {
- this.chatHidden = chatHidden;
- }
-
- public boolean isActivitiesHidden() {
- return activitiesHidden;
- }
-
- public void setActivitiesHidden(boolean activitiesHidden) {
- this.activitiesHidden = activitiesHidden;
- }
-
- public boolean getHideFilesExplorer() {
- return hideFilesExplorer;
- }
-
- public void setHideFilesExplorer(boolean hideFilesExplorer) {
- this.hideFilesExplorer = hideFilesExplorer;
- }
-
- public boolean getHideActionsMenu() {
- return hideActionsMenu;
- }
-
- public void setHideActionsMenu(boolean hideActionsMenu) {
- this.hideActionsMenu = hideActionsMenu;
- }
-
- public boolean getHideScreenSharing() {
- return hideScreenSharing;
- }
-
- public void setHideScreenSharing(boolean hideScreenSharing) {
- this.hideScreenSharing = hideScreenSharing;
- }
-
- public boolean getHideWhiteboard() {
- return hideWhiteboard;
- }
-
- public void setHideWhiteboard(boolean hideWhiteboard) {
- this.hideWhiteboard = hideWhiteboard;
- }
-
- public boolean getShowMicrophoneStatus() {
- return showMicrophoneStatus;
- }
-
- public void setShowMicrophoneStatus(boolean showMicrophoneStatus) {
- this.showMicrophoneStatus = showMicrophoneStatus;
- }
-
public List<RoomModerator> getModerators() {
return moderators;
}
@@ -568,6 +497,14 @@ public class Room implements IDataProvid
this.chatModerated = chatModerated;
}
+ public Set<RoomElement> getHiddenElements() {
+ return hiddenElements;
+ }
+
+ public void setHiddenElements(Set<RoomElement> hiddenElements) {
+ this.hiddenElements = hiddenElements;
+ }
+
public List<RoomGroup> getRoomGroups() {
return roomGroups;
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java Sun Apr 17 17:08:47 2016
@@ -315,7 +315,7 @@ public class User implements IDataProvid
@CollectionTable(name = "om_user_right", joinColumns = @JoinColumn(name = "user_id"))
@Enumerated(EnumType.STRING)
@ElementList(name="rights", data = true, required = false)
- private Set<Right> rights = new HashSet<User.Right>();
+ private Set<Right> rights = new HashSet<>();
@Column(name = "domain_id")
@Element(data = true, required = false)
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Sun Apr 17 17:08:47 2016
@@ -617,11 +617,7 @@
canvas.timeZoneId = value.timeZoneId;
}
if (value.rights != null) {
- for (var i = 0; i < value.rights.length; ++i) {
- if ('Admin' == value.rights[i]) {
- canvas.becomemoderator = true;
- }
- }
+ canvas.becomemoderator = value.rights.indexOf('Admin') > -1;
}
if ($debug) Debug.write("hibRtmpConnection::loginWicket -> canvas.becomemoderator", canvas.becomemoderator);
if (value.sessionData == null) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx Sun Apr 17 17:08:47 2016
@@ -24,8 +24,7 @@
<conferenceRoomSidebar name="_sidePanel" />
<view name="_videoviewcontent_hideWhiteboard" y="0" x="${ parent._sidePanel.width }"
- width="${canvas.width-parent._sidePanel.width}" height="${ canvas.height - 5 + 28 }" clip="true"
- visibility="${((canvas.currentRoomObj.hideWhiteboard) ? 'visible':'hidden')}">
+ width="${canvas.width-parent._sidePanel.width}" height="${ canvas.height - 5 + 28 }" clip="true">
<view name="_inn" width="${parent.width-10}">
<wrappinglayout axis="x" spacing="10"/>
</view>
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx Sun Apr 17 17:08:47 2016
@@ -78,7 +78,7 @@
</class>
<class name="fixedFileExplorerWhiteboardPanel" extends="basePropertyPanelWhiteboard" allowToggle="false"
- labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
+ labelid="615" visible="${ canvas.currentRoomObj.hiddenElements.indexOf('Whiteboard') < 0 }">
<attribute name="whiteboardCount" value="0" type="number" />
<!--
Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Sun Apr 17 17:08:47 2016
@@ -51,7 +51,9 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
+import java.util.Arrays;
import java.util.Date;
+import java.util.HashSet;
import java.util.Iterator;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -65,6 +67,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.basic.ErrorValue;
import org.apache.openmeetings.db.entity.basic.Naviglobal;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.Room.Type;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.server.OAuthServer;
@@ -364,8 +367,8 @@ public class ImportInitvalues {
r.setDemoRoom(false);
r.setDemoTime(null);
+ r.setHiddenElements(new HashSet<>(Arrays.asList(RoomElement.MicrophoneStatus)));
r.setModerated(false);
- r.setHideTopBar(false);
r.setDeleted(false);
@@ -377,12 +380,6 @@ public class ImportInitvalues {
r.setWaitForRecording(false);
r.setAllowRecording(true);
- r.setChatHidden(false);
- r.setActivitiesHidden(false);
- r.setHideActionsMenu(false);
- r.setHideFilesExplorer(false);
- r.setHideScreenSharing(false);
- r.setHideWhiteboard(false);
if (groupId != null) {
RoomGroup ro = new RoomGroup();
ro.setRoom(r);
@@ -398,16 +395,16 @@ public class ImportInitvalues {
createRoom("public Interview Room", Type.interview, 16L, true, null);
createRoom("public Conference Room", Type.conference, 32L, true, null);
Room r = createRoom("public Video Only Room", Type.conference, 32L, true, null);
- r.setHideWhiteboard(true);
+ r.setHiddenElements(new HashSet<>(Arrays.asList(RoomElement.Whiteboard)));
roomDao.update(r, null);
createRoom("public Video And Whiteboard Room", Type.conference, 32L, true, null);
createRoom("public Restricted Room", Type.restricted, 100L, true, null);
r = createRoom("restricted room with micro option set", Type.restricted, 100L, true, null);
- r.setShowMicrophoneStatus(true);
+ r.getHiddenElements().clear();
roomDao.update(r, null);
r = createRoom("conference room with micro option set", Type.conference, 32L, true, null);
- r.setShowMicrophoneStatus(true);
+ r.getHiddenElements().clear();
roomDao.update(r, null);
createRoom("private Conference Room", Type.conference, 32L, false, 1L);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java Sun Apr 17 17:08:47 2016
@@ -34,6 +34,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.user.Address;
@@ -167,14 +168,37 @@ public class RoomForm extends AdminBaseF
add(new CheckBox("allowRecording"));
add(new CheckBox("chatModerated"));
- add(new CheckBox("hideTopBar"));
- add(new CheckBox("chatHidden"));
- add(new CheckBox("activitiesHidden"));
- add(new CheckBox("hideFilesExplorer"));
- add(new CheckBox("hideActionsMenu"));
- add(new CheckBox("hideScreenSharing"));
- add(new CheckBox("hideWhiteboard"));
- add(new CheckBox("showMicrophoneStatus"));
+ add(new Select2MultiChoice<RoomElement>("hiddenElements", null, new ChoiceProvider<RoomElement>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getDisplayValue(RoomElement choice) {
+ return choice.name();
+ }
+
+ @Override
+ public String getIdValue(RoomElement choice) {
+ return choice.name();
+ }
+
+ @Override
+ public void query(String term, int page, Response<RoomElement> response) {
+ for (RoomElement r : RoomElement.values()) {
+ if (Strings.isEmpty(term) || r.name().contains(term)) {
+ response.add(r);
+ }
+ }
+ }
+
+ @Override
+ public Collection<RoomElement> toChoices(Collection<String> ids) {
+ Collection<RoomElement> rights = new ArrayList<>(ids.size());
+ for (String id : ids) {
+ rights.add(RoomElement.valueOf(id));
+ }
+ return rights;
+ }
+ }));
add(new CheckBox("chatOpened"));
add(new CheckBox("filesOpened"));
add(new CheckBox("autoVideoSelect"));
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html Sun Apr 17 17:08:47 2016
@@ -127,28 +127,8 @@
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="1443" /></legend>
<div class="formelement">
- <label><wicket:message key="1357" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideTopBar" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1436" /></label><input type="checkbox" class="formcheckbox" wicket:id="chatHidden" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1437" /></label><input type="checkbox" class="formcheckbox" wicket:id="activitiesHidden" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1438" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideFilesExplorer" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1439" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideActionsMenu" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1440" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideScreenSharing" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1441" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideWhiteboard" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1442" /></label><input type="checkbox" class="formcheckbox" wicket:id="showMicrophoneStatus" />
+ <label><wicket:message key="admin.room.hidden.elements" /></label>
+ <div class="om-select2"><select class="input" wicket:id="hiddenElements"></select></div>
</div>
<div class="formelement">
<label><wicket:message key="1515" /></label><input type="checkbox" class="formcheckbox" wicket:id="chatOpened" />
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java Sun Apr 17 17:08:47 2016
@@ -212,7 +212,7 @@ public class UserForm extends AdminBaseF
@Override
public Collection<Right> toChoices(Collection<String> ids) {
- Collection<Right> rights = new ArrayList<User.Right>(ids.size());
+ Collection<Right> rights = new ArrayList<>(ids.size());
for (String id : ids) {
rights.add(Right.valueOf(id));
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml Sun Apr 17 17:08:47 2016
@@ -1909,4 +1909,5 @@
<entry key="dashboard.widget.admin.cleanup.warn">Are you sure you want to delete all temporary files? This operation cannot be undone.</entry>
<entry key="dashboard.widget.admin.cleanup.error">Unexpected error while performing cleanup</entry>
<entry key="room.action.request.right.moderator">would like to be moderator of this room.</entry>
+ <entry key="admin.room.hidden.elements">Hidden room elements</entry>
</properties>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Sun Apr 17 17:08:47 2016
@@ -33,6 +33,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -116,10 +117,15 @@ public class RoomPanel extends BasePanel
getClient().setRoomId(r.getId());
super.onInitialize();
Component accessDenied = new WebMarkupContainer(ACCESS_DENIED_ID).setVisible(false);
+ room.add((menu = new RoomMenuPanel("menu", this)).setVisible(!r.getHiddenElements().contains(RoomElement.TopBar)));
+ room.add(new SwfPanel("whiteboard", getClient()));
+ room.add(aab);
+ room.add(sidebar = new RoomSidebar("sidebar", this));
+ room.add((activities = new ActivitiesPanel("activities", this)).setVisible(!r.getHiddenElements().contains(RoomElement.Activities)));
add(roomClosed = new RedirectMessageDialog("room-closed", "1098", r.isClosed(), r.getRedirectURL()));
if (r.isClosed()) {
room.setVisible(false);
- } else if (r.getNumberOfPartizipants() >= getRoomUsers(r.getId()).size()) {
+ } else if (getRoomUsers(r.getId()).size() >= r.getNumberOfPartizipants()) {
accessDenied = new ExpiredMessageDialog(ACCESS_DENIED_ID, getString("99"), menu);
room.setVisible(false);
} else {
@@ -175,13 +181,8 @@ public class RoomPanel extends BasePanel
room.setVisible(false);
}
}
- room.add((menu = new RoomMenuPanel("menu", this)).setVisible(!r.getHideTopBar()));
- room.add(new SwfPanel("whiteboard", getClient()));
- room.add(aab);
- room.add(sidebar = new RoomSidebar("sidebar", this));
- room.add((activities = new ActivitiesPanel("activities", this)).setVisible(!r.isActivitiesHidden()));
add(room, accessDenied);
- if (r.getWaitForRecording()) {
+ if (r.isWaitForRecording()) {
add(new MessageDialog("wait-for-recording", getString("1316"), getString("1315"), DialogButtons.OK, DialogIcon.INFO) {//DialogIcon.LIGHT
private static final long serialVersionUID = 1L;
@@ -318,7 +319,7 @@ public class RoomPanel extends BasePanel
@Override
public void onMenuPanelLoad(IPartialPageRequestHandler handler) {
handler.add(getMainPage().getHeader().setVisible(false), getMainPage().getTopControls().setVisible(false));
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
getMainPage().getChat().toggle(handler, false);
}
handler.appendJavaScript("roomLoad();");
@@ -327,7 +328,7 @@ public class RoomPanel extends BasePanel
@Override
public void cleanup(IPartialPageRequestHandler handler) {
handler.add(getMainPage().getHeader().setVisible(true), getMainPage().getTopControls().setVisible(true));
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
getMainPage().getChat().toggle(handler, true);
}
handler.appendJavaScript("$(window).off('resize.openmeetings');");
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Sun Apr 17 17:08:47 2016
@@ -32,6 +32,7 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.util.message.RoomMessage;
@@ -142,7 +143,7 @@ public class RoomMenuPanel extends Panel
setOutputMarkupPlaceholderTag(true);
this.room = room;
Room r = room.getRoom();
- add((menuPanel = new MenuPanel("menu", getMenu())).setVisible(!r.getHideTopBar()));
+ add((menuPanel = new MenuPanel("menu", getMenu())).setVisible(!r.getHiddenElements().contains(RoomElement.TopBar)));
add(askBtn);
add(new Label("roomName", r.getName()));
add(new Label("recording", "Recording started").setVisible(false)); //FIXME add/remove
@@ -213,11 +214,11 @@ public class RoomMenuPanel extends Panel
boolean notExternalUser = u.getType() != User.Type.external && u.getType() != User.Type.contact;
exitMenuItem.setEnabled(notExternalUser);//TODO check this
filesMenu.setEnabled(room.getSidebar().isShowFiles());
- actionsMenu.setEnabled(!r.getHideActionsMenu() && r.getAllowUserQuestions());
+ actionsMenu.setEnabled(!r.getHiddenElements().contains(RoomElement.ActionsMenu) && r.isAllowUserQuestions());
boolean moder = room.getClient().hasRight(Client.Right.moderator);
inviteMenuItem.setEnabled(notExternalUser && moder);
//TODO add check "sharing started"
- boolean shareVisible = Room.Type.interview != r.getType() && !r.getHideScreenSharing() && r.isAllowRecording() && moder;
+ boolean shareVisible = Room.Type.interview != r.getType() && !r.getHiddenElements().contains(RoomElement.ScreenSharing) && r.isAllowRecording() && moder;
shareMenuItem.setEnabled(shareVisible);
//FIXME TODO apply* should be enabled if moder is in room
applyModerMenuItem.setEnabled(!moder);
@@ -229,7 +230,7 @@ public class RoomMenuPanel extends Panel
//TODO sip menus
menuPanel.update(handler);
//FIXME TODO askBtn should be visible if moder is in room
- handler.add(askBtn.setVisible(!moder && r.getAllowUserQuestions()));
+ handler.add(askBtn.setVisible(!moder && r.isAllowUserQuestions()));
handler.add(shareBtn.setVisible(shareVisible));
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Sun Apr 17 17:08:47 2016
@@ -28,6 +28,7 @@ import java.util.Arrays;
import java.util.List;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.Client.Right;
@@ -71,7 +72,7 @@ public class RoomSidebar extends Panel {
item.add(status);
item.add(new Label("name", rc.u.getFirstname() + " " + rc.u.getLastname()));
item.add(AttributeAppender.append("data-userid", rc.u.getId()));
- item.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().isChatHidden() && !getUserId().equals(rc.u.getId())));
+ item.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().getHiddenElements().contains(RoomElement.Chat) && !getUserId().equals(rc.u.getId())));
if (room.getClient() != null && rc.c.getUid().equals(room.getClient().getUid())) {
item.add(AttributeAppender.append("class", "current"));
}
@@ -160,7 +161,7 @@ public class RoomSidebar extends Panel {
}
private void updateShowFiles() {
- showFiles = !room.getRoom().getHideFilesExplorer() && room.getClient().hasRight(Right.whiteBoard);
+ showFiles = !room.getRoom().getHiddenElements().contains(RoomElement.Files) && room.getClient().hasRight(Right.whiteBoard);
}
public void updateUsers(IPartialPageRequestHandler handler) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java Sun Apr 17 17:08:47 2016
@@ -42,6 +42,7 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.Client;
@@ -189,7 +190,7 @@ public class ChatPanel extends BasePanel
}
public void roomEnter(Room r, AjaxRequestTarget target) {
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
toggle(target, false);
return;
}
@@ -206,7 +207,7 @@ public class ChatPanel extends BasePanel
}
public void roomExit(Room r, IPartialPageRequestHandler handler) {
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
return;
}
handler.appendJavaScript(String.format("removeChatTab('%1$s%2$d');", ID_ROOM_PREFIX, r.getId()));
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Sun Apr 17 17:08:47 2016
@@ -54,6 +54,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.log.ConferenceLog;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.CalendarPatterns;
@@ -1148,7 +1149,7 @@ public class ScopeApplicationAdapter ext
sessionManager.updateClientByStreamId(streamid, currentClient, true, null);
Room room = roomDao.get(roomId);
- if (room.getShowMicrophoneStatus()) {
+ if (!room.getHiddenElements().contains(RoomElement.MicrophoneStatus)) {
currentClient.setCanGiveAudio(true);
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java Sun Apr 17 17:08:47 2016
@@ -23,13 +23,17 @@ import static org.apache.openmeetings.db
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
+import org.apache.wicket.ajax.json.JSONArray;
import org.apache.wicket.ajax.json.JSONObject;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@@ -54,13 +58,7 @@ public class RoomDTO implements Serializ
private boolean allowRecording;
private boolean waitForRecording;
private boolean audioOnly;
- private boolean topBarHidden;
- private boolean chatHidden;
- private boolean activitiesHidden;
- private boolean filesExplorerHidden;
- private boolean actionsMenuHidden;
- private boolean screenSharingHidden;
- private boolean whiteboardHidden;
+ private Set<RoomElement> hiddenElements;
public RoomDTO() {}
@@ -80,17 +78,11 @@ public class RoomDTO implements Serializ
externalType = r.getExternalType();
redirectUrl = r.getRedirectURL();
moderated = r.isModerated();
- allowUserQuestions = r.getAllowUserQuestions();
+ allowUserQuestions = r.isAllowUserQuestions();
allowRecording = r.isAllowRecording();
- waitForRecording = r.getWaitForRecording();
+ waitForRecording = r.isWaitForRecording();
audioOnly = r.isAudioOnly();
- topBarHidden = r.getHideTopBar();
- chatHidden = r.isChatHidden();
- activitiesHidden = r.isActivitiesHidden();
- filesExplorerHidden = r.getHideFilesExplorer();
- actionsMenuHidden = r.getHideActionsMenu();
- screenSharingHidden = r.getHideScreenSharing();
- whiteboardHidden = r.getHideWhiteboard();
+ hiddenElements = r.getHiddenElements();
}
public Room get() {
@@ -113,13 +105,7 @@ public class RoomDTO implements Serializ
r.setAllowRecording(allowRecording);
r.setWaitForRecording(waitForRecording);
r.setAudioOnly(audioOnly);
- r.setHideTopBar(topBarHidden);
- r.setChatHidden(chatHidden);
- r.setActivitiesHidden(activitiesHidden);
- r.setHideFilesExplorer(filesExplorerHidden);
- r.setHideActionsMenu(actionsMenuHidden);
- r.setHideScreenSharing(screenSharingHidden);
- r.setHideWhiteboard(whiteboardHidden);
+ r.setHiddenElements(hiddenElements);
return r;
}
@@ -235,60 +221,12 @@ public class RoomDTO implements Serializ
this.audioOnly = audioOnly;
}
- public boolean isTopBarHidden() {
- return topBarHidden;
+ public Set<RoomElement> getHiddenElements() {
+ return hiddenElements;
}
- public void setTopBarHidden(boolean topBarHidden) {
- this.topBarHidden = topBarHidden;
- }
-
- public boolean isChatHidden() {
- return chatHidden;
- }
-
- public void setChatHidden(boolean chatHidden) {
- this.chatHidden = chatHidden;
- }
-
- public boolean isActivitiesHidden() {
- return activitiesHidden;
- }
-
- public void setActivitiesHidden(boolean activitiesHidden) {
- this.activitiesHidden = activitiesHidden;
- }
-
- public boolean isFilesExplorerHidden() {
- return filesExplorerHidden;
- }
-
- public void setFilesExplorerHidden(boolean filesExplorerHidden) {
- this.filesExplorerHidden = filesExplorerHidden;
- }
-
- public boolean isActionsMenuHidden() {
- return actionsMenuHidden;
- }
-
- public void setActionsMenuHidden(boolean actionsMenuHidden) {
- this.actionsMenuHidden = actionsMenuHidden;
- }
-
- public boolean isScreenSharingHidden() {
- return screenSharingHidden;
- }
-
- public void setScreenSharingHidden(boolean screenSharingHidden) {
- this.screenSharingHidden = screenSharingHidden;
- }
-
- public boolean isWhiteboardHidden() {
- return whiteboardHidden;
- }
-
- public void setWhiteboardHidden(boolean whiteboardHidden) {
- this.whiteboardHidden = whiteboardHidden;
+ public void setHiddenElements(Set<RoomElement> hiddenElements) {
+ this.hiddenElements = hiddenElements;
}
public boolean isPublic() {
@@ -363,13 +301,13 @@ public class RoomDTO implements Serializ
r.allowRecording = o.optBoolean("allowRecording", false);
r.waitForRecording = o.optBoolean("waitForRecording", false);
r.audioOnly = o.optBoolean("audioOnly", false);
- r.topBarHidden = o.optBoolean("topBarHidden", false);
- r.chatHidden = o.optBoolean("chatHidden", false);
- r.activitiesHidden = o.optBoolean("activitiesHidden", false);
- r.filesExplorerHidden = o.optBoolean("filesExplorerHidden", false);
- r.actionsMenuHidden = o.optBoolean("actionsMenuHidden", false);
- r.screenSharingHidden = o.optBoolean("screenSharingHidden", false);
- r.whiteboardHidden = o.optBoolean("whiteboardHidden", false);
+ r.setHiddenElements(new HashSet<RoomElement>());
+ JSONArray hidden = o.optJSONArray("hiddenElements");
+ if (hidden != null) {
+ for (int i = 0; i < hidden.length(); ++i) {
+ r.getHiddenElements().add(RoomElement.valueOf(hidden.getString(i)));
+ }
+ }
return r;
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java Sun Apr 17 17:08:47 2016
@@ -20,10 +20,14 @@ package org.apache.openmeetings.db.entit
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.persistence.CascadeType;
+import javax.persistence.CollectionTable;
import javax.persistence.Column;
+import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
@@ -41,6 +45,7 @@ import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
import org.apache.openjpa.persistence.ElementDependent;
import org.apache.openjpa.persistence.FetchAttribute;
@@ -89,6 +94,18 @@ public class Room implements IDataProvid
public static final int RESTRICTED_TYPE_ID = 3;
public static final int INTERVIEW_TYPE_ID = 4;
+ @XmlType(namespace="org.apache.openmeetings.room.element")
+ public enum RoomElement {
+ TopBar
+ , Chat
+ , Activities
+ , Files
+ , ActionsMenu
+ , ScreenSharing
+ , Whiteboard
+ , MicrophoneStatus
+ }
+
public enum Type {
conference(CONFERENCE_TYPE_ID)
//, audience(2)
@@ -222,45 +239,21 @@ public class Room implements IDataProvid
@Column(name = "allow_recording")
@Element(name = "allowRecording", data = true, required = false)
private boolean allowRecording = true; // Show or show not the recording option in a conference room
- /**
- * Layout of Room
- */
- @Column(name = "hide_top_bar")
- @Element(data = true, required = false)
- private boolean hideTopBar;
-
- @Column(name = "hide_chat")
- @Element(name = "hideChat", data = true, required = false)
- private boolean chatHidden;
-
- @Column(name = "hide_activities_and_actions")
- @Element(name = "hideActivitiesAndActions", data = true, required = false)
- private boolean activitiesHidden;
-
- @Column(name = "hide_files_explorer")
- @Element(data = true, required = false)
- private boolean hideFilesExplorer;
-
- @Column(name = "hide_actions_menu")
- @Element(data = true, required = false)
- private boolean hideActionsMenu;
-
- @Column(name = "hide_screen_sharing")
- @Element(data = true, required = false)
- private boolean hideScreenSharing;
-
- @Column(name = "hide_whiteboard")
- @Element(data = true, required = false)
- private boolean hideWhiteboard;
-
- @Column(name = "show_microphone_status")
- @Element(data = true, required = false)
- private boolean showMicrophoneStatus;
-
+
@Column(name = "chat_moderated")
@Element(data = true, required = false)
private boolean chatModerated;
+ /**
+ * Layout of Room
+ */
+ @ElementCollection(fetch = FetchType.EAGER)
+ @Column(name = "hide_element")
+ @CollectionTable(name = "room_hide_element", joinColumns = @JoinColumn(name = "room_id"))
+ @Enumerated(EnumType.STRING)
+ @ElementList(name="hide_element", data = true, required = false)
+ private Set<RoomElement> hiddenElements = new HashSet<>();
+
@Column(name = "chat_opened")
@Element(data = true, required = false)
private boolean chatOpened;
@@ -430,7 +423,7 @@ public class Room implements IDataProvid
this.externalType = externalType;
}
- public boolean getAllowUserQuestions() {
+ public boolean isAllowUserQuestions() {
return allowUserQuestions;
}
@@ -470,7 +463,7 @@ public class Room implements IDataProvid
this.ownerId = ownerId;
}
- public boolean getWaitForRecording() {
+ public boolean isWaitForRecording() {
return waitForRecording;
}
@@ -486,70 +479,6 @@ public class Room implements IDataProvid
this.allowRecording = allowRecording;
}
- public boolean getHideTopBar() {
- return hideTopBar;
- }
-
- public void setHideTopBar(boolean hideTopBar) {
- this.hideTopBar = hideTopBar;
- }
-
- public boolean isChatHidden() {
- return chatHidden;
- }
-
- public void setChatHidden(boolean chatHidden) {
- this.chatHidden = chatHidden;
- }
-
- public boolean isActivitiesHidden() {
- return activitiesHidden;
- }
-
- public void setActivitiesHidden(boolean activitiesHidden) {
- this.activitiesHidden = activitiesHidden;
- }
-
- public boolean getHideFilesExplorer() {
- return hideFilesExplorer;
- }
-
- public void setHideFilesExplorer(boolean hideFilesExplorer) {
- this.hideFilesExplorer = hideFilesExplorer;
- }
-
- public boolean getHideActionsMenu() {
- return hideActionsMenu;
- }
-
- public void setHideActionsMenu(boolean hideActionsMenu) {
- this.hideActionsMenu = hideActionsMenu;
- }
-
- public boolean getHideScreenSharing() {
- return hideScreenSharing;
- }
-
- public void setHideScreenSharing(boolean hideScreenSharing) {
- this.hideScreenSharing = hideScreenSharing;
- }
-
- public boolean getHideWhiteboard() {
- return hideWhiteboard;
- }
-
- public void setHideWhiteboard(boolean hideWhiteboard) {
- this.hideWhiteboard = hideWhiteboard;
- }
-
- public boolean getShowMicrophoneStatus() {
- return showMicrophoneStatus;
- }
-
- public void setShowMicrophoneStatus(boolean showMicrophoneStatus) {
- this.showMicrophoneStatus = showMicrophoneStatus;
- }
-
public List<RoomModerator> getModerators() {
return moderators;
}
@@ -568,6 +497,14 @@ public class Room implements IDataProvid
this.chatModerated = chatModerated;
}
+ public Set<RoomElement> getHiddenElements() {
+ return hiddenElements;
+ }
+
+ public void setHiddenElements(Set<RoomElement> hiddenElements) {
+ this.hiddenElements = hiddenElements;
+ }
+
public List<RoomGroup> getRoomGroups() {
return roomGroups;
}
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java Sun Apr 17 17:08:47 2016
@@ -315,7 +315,7 @@ public class User implements IDataProvid
@CollectionTable(name = "om_user_right", joinColumns = @JoinColumn(name = "user_id"))
@Enumerated(EnumType.STRING)
@ElementList(name="rights", data = true, required = false)
- private Set<Right> rights = new HashSet<User.Right>();
+ private Set<Right> rights = new HashSet<>();
@Column(name = "domain_id")
@Element(data = true, required = false)
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Sun Apr 17 17:08:47 2016
@@ -51,7 +51,9 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
+import java.util.Arrays;
import java.util.Date;
+import java.util.HashSet;
import java.util.Iterator;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -65,6 +67,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.basic.ErrorValue;
import org.apache.openmeetings.db.entity.basic.Naviglobal;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.Room.Type;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.server.OAuthServer;
@@ -364,8 +367,8 @@ public class ImportInitvalues {
r.setDemoRoom(false);
r.setDemoTime(null);
+ r.setHiddenElements(new HashSet<>(Arrays.asList(RoomElement.MicrophoneStatus)));
r.setModerated(false);
- r.setHideTopBar(false);
r.setDeleted(false);
@@ -377,12 +380,6 @@ public class ImportInitvalues {
r.setWaitForRecording(false);
r.setAllowRecording(true);
- r.setChatHidden(false);
- r.setActivitiesHidden(false);
- r.setHideActionsMenu(false);
- r.setHideFilesExplorer(false);
- r.setHideScreenSharing(false);
- r.setHideWhiteboard(false);
if (groupId != null) {
RoomGroup ro = new RoomGroup();
ro.setRoom(r);
@@ -398,16 +395,16 @@ public class ImportInitvalues {
createRoom("public Interview Room", Type.interview, 16L, true, null);
createRoom("public Conference Room", Type.conference, 32L, true, null);
Room r = createRoom("public Video Only Room", Type.conference, 32L, true, null);
- r.setHideWhiteboard(true);
+ r.setHiddenElements(new HashSet<>(Arrays.asList(RoomElement.Whiteboard)));
roomDao.update(r, null);
createRoom("public Video And Whiteboard Room", Type.conference, 32L, true, null);
createRoom("public Restricted Room", Type.restricted, 100L, true, null);
r = createRoom("restricted room with micro option set", Type.restricted, 100L, true, null);
- r.setShowMicrophoneStatus(true);
+ r.getHiddenElements().clear();
roomDao.update(r, null);
r = createRoom("conference room with micro option set", Type.conference, 32L, true, null);
- r.setShowMicrophoneStatus(true);
+ r.getHiddenElements().clear();
roomDao.update(r, null);
createRoom("private Conference Room", Type.conference, 32L, false, 1L);
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java Sun Apr 17 17:08:47 2016
@@ -34,6 +34,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.user.Address;
@@ -167,14 +168,37 @@ public class RoomForm extends AdminBaseF
add(new CheckBox("allowRecording"));
add(new CheckBox("chatModerated"));
- add(new CheckBox("hideTopBar"));
- add(new CheckBox("chatHidden"));
- add(new CheckBox("activitiesHidden"));
- add(new CheckBox("hideFilesExplorer"));
- add(new CheckBox("hideActionsMenu"));
- add(new CheckBox("hideScreenSharing"));
- add(new CheckBox("hideWhiteboard"));
- add(new CheckBox("showMicrophoneStatus"));
+ add(new Select2MultiChoice<RoomElement>("hiddenElements", null, new ChoiceProvider<RoomElement>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getDisplayValue(RoomElement choice) {
+ return choice.name();
+ }
+
+ @Override
+ public String getIdValue(RoomElement choice) {
+ return choice.name();
+ }
+
+ @Override
+ public void query(String term, int page, Response<RoomElement> response) {
+ for (RoomElement r : RoomElement.values()) {
+ if (Strings.isEmpty(term) || r.name().contains(term)) {
+ response.add(r);
+ }
+ }
+ }
+
+ @Override
+ public Collection<RoomElement> toChoices(Collection<String> ids) {
+ Collection<RoomElement> rights = new ArrayList<>(ids.size());
+ for (String id : ids) {
+ rights.add(RoomElement.valueOf(id));
+ }
+ return rights;
+ }
+ }));
add(new CheckBox("chatOpened"));
add(new CheckBox("filesOpened"));
add(new CheckBox("autoVideoSelect"));
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html Sun Apr 17 17:08:47 2016
@@ -127,28 +127,8 @@
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="1443" /></legend>
<div class="formelement">
- <label><wicket:message key="1357" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideTopBar" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1436" /></label><input type="checkbox" class="formcheckbox" wicket:id="chatHidden" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1437" /></label><input type="checkbox" class="formcheckbox" wicket:id="activitiesHidden" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1438" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideFilesExplorer" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1439" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideActionsMenu" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1440" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideScreenSharing" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1441" /></label><input type="checkbox" class="formcheckbox" wicket:id="hideWhiteboard" />
- </div>
- <div class="formelement">
- <label><wicket:message key="1442" /></label><input type="checkbox" class="formcheckbox" wicket:id="showMicrophoneStatus" />
+ <label><wicket:message key="admin.room.hidden.elements" /></label>
+ <div class="om-select2"><select class="input" wicket:id="hiddenElements"></select></div>
</div>
<div class="formelement">
<label><wicket:message key="1515" /></label><input type="checkbox" class="formcheckbox" wicket:id="chatOpened" />
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java Sun Apr 17 17:08:47 2016
@@ -212,7 +212,7 @@ public class UserForm extends AdminBaseF
@Override
public Collection<Right> toChoices(Collection<String> ids) {
- Collection<Right> rights = new ArrayList<User.Right>(ids.size());
+ Collection<Right> rights = new ArrayList<>(ids.size());
for (String id : ids) {
rights.add(Right.valueOf(id));
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml Sun Apr 17 17:08:47 2016
@@ -1909,4 +1909,5 @@
<entry key="dashboard.widget.admin.cleanup.warn">Are you sure you want to delete all temporary files? This operation cannot be undone.</entry>
<entry key="dashboard.widget.admin.cleanup.error">Unexpected error while performing cleanup</entry>
<entry key="room.action.request.right.moderator">would like to be moderator of this room.</entry>
+ <entry key="admin.room.hidden.elements">Hidden room elements</entry>
</properties>
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Sun Apr 17 17:08:47 2016
@@ -33,6 +33,7 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -133,10 +134,17 @@ public class RoomPanel extends BasePanel
getClient().setRoomId(r.getId());
super.onInitialize();
Component accessDenied = new WebMarkupContainer(ACCESS_DENIED_ID).setVisible(false);
+ room.add((menu = new RoomMenuPanel("menu", this)).setVisible(!r.getHiddenElements().contains(RoomElement.TopBar)));
+ WebMarkupContainer wb = new WebMarkupContainer("whiteboard");
+ room.add(wb.setOutputMarkupId(true));
+ room.add(new WhiteboardBehavior("1", wb.getMarkupId(), null, null, null));
+ room.add(aab);
+ room.add(sidebar = new RoomSidebar("sidebar", this));
+ room.add((activities = new ActivitiesPanel("activities", this)).setVisible(!r.getHiddenElements().contains(RoomElement.Activities)));
add(roomClosed = new RedirectMessageDialog("room-closed", "1098", r.isClosed(), r.getRedirectURL()));
if (r.isClosed()) {
room.setVisible(false);
- } else if (r.getNumberOfPartizipants() >= getRoomUsers(r.getId()).size()) {
+ } else if (getRoomUsers(r.getId()).size() >= r.getNumberOfPartizipants()) {
accessDenied = new ExpiredMessageDialog(ACCESS_DENIED_ID, getString("99"), menu);
room.setVisible(false);
} else {
@@ -192,15 +200,8 @@ public class RoomPanel extends BasePanel
room.setVisible(false);
}
}
- room.add((menu = new RoomMenuPanel("menu", this)).setVisible(!r.getHideTopBar()));
- WebMarkupContainer wb = new WebMarkupContainer("whiteboard");
- room.add(wb.setOutputMarkupId(true));
- room.add(new WhiteboardBehavior("1", wb.getMarkupId(), null, null, null));
- room.add(aab);
- room.add(sidebar = new RoomSidebar("sidebar", this));
- room.add((activities = new ActivitiesPanel("activities", this)).setVisible(!r.isActivitiesHidden()));
add(room, accessDenied);
- if (r.getWaitForRecording()) {
+ if (r.isWaitForRecording()) {
add(new MessageDialog("wait-for-recording", getString("1316"), getString("1315"), DialogButtons.OK, DialogIcon.INFO) {//DialogIcon.LIGHT
private static final long serialVersionUID = 1L;
@@ -349,7 +350,7 @@ public class RoomPanel extends BasePanel
@Override
public void onMenuPanelLoad(IPartialPageRequestHandler handler) {
handler.add(getMainPage().getHeader().setVisible(false), getMainPage().getTopControls().setVisible(false));
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
getMainPage().getChat().toggle(handler, false);
}
handler.appendJavaScript("roomLoad();");
@@ -358,7 +359,7 @@ public class RoomPanel extends BasePanel
@Override
public void cleanup(IPartialPageRequestHandler handler) {
handler.add(getMainPage().getHeader().setVisible(true), getMainPage().getTopControls().setVisible(true));
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
getMainPage().getChat().toggle(handler, true);
}
handler.appendJavaScript("$(window).off('resize.openmeetings');");
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Sun Apr 17 17:08:47 2016
@@ -32,6 +32,7 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.util.message.RoomMessage;
@@ -142,7 +143,7 @@ public class RoomMenuPanel extends Panel
setOutputMarkupPlaceholderTag(true);
this.room = room;
Room r = room.getRoom();
- add((menuPanel = new MenuPanel("menu", getMenu())).setVisible(!r.getHideTopBar()));
+ add((menuPanel = new MenuPanel("menu", getMenu())).setVisible(!r.getHiddenElements().contains(RoomElement.TopBar)));
add(askBtn);
add(new Label("roomName", r.getName()));
add(new Label("recording", "Recording started").setVisible(false)); //FIXME add/remove
@@ -213,11 +214,11 @@ public class RoomMenuPanel extends Panel
boolean notExternalUser = u.getType() != User.Type.external && u.getType() != User.Type.contact;
exitMenuItem.setEnabled(notExternalUser);//TODO check this
filesMenu.setEnabled(room.getSidebar().isShowFiles());
- actionsMenu.setEnabled(!r.getHideActionsMenu() && r.getAllowUserQuestions());
+ actionsMenu.setEnabled(!r.getHiddenElements().contains(RoomElement.ActionsMenu) && r.isAllowUserQuestions());
boolean moder = room.getClient().hasRight(Client.Right.moderator);
inviteMenuItem.setEnabled(notExternalUser && moder);
//TODO add check "sharing started"
- boolean shareVisible = Room.Type.interview != r.getType() && !r.getHideScreenSharing() && r.isAllowRecording() && moder;
+ boolean shareVisible = Room.Type.interview != r.getType() && !r.getHiddenElements().contains(RoomElement.ScreenSharing) && r.isAllowRecording() && moder;
shareMenuItem.setEnabled(shareVisible);
//FIXME TODO apply* should be enabled if moder is in room
applyModerMenuItem.setEnabled(!moder);
@@ -229,7 +230,7 @@ public class RoomMenuPanel extends Panel
//TODO sip menus
menuPanel.update(handler);
//FIXME TODO askBtn should be visible if moder is in room
- handler.add(askBtn.setVisible(!moder && r.getAllowUserQuestions()));
+ handler.add(askBtn.setVisible(!moder && r.isAllowUserQuestions()));
handler.add(shareBtn.setVisible(shareVisible));
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Sun Apr 17 17:08:47 2016
@@ -28,6 +28,7 @@ import java.util.Arrays;
import java.util.List;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.Client.Right;
@@ -71,7 +72,7 @@ public class RoomSidebar extends Panel {
item.add(status);
item.add(new Label("name", rc.u.getFirstname() + " " + rc.u.getLastname()));
item.add(AttributeAppender.append("data-userid", rc.u.getId()));
- item.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().isChatHidden() && !getUserId().equals(rc.u.getId())));
+ item.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().getHiddenElements().contains(RoomElement.Chat) && !getUserId().equals(rc.u.getId())));
if (room.getClient() != null && rc.c.getUid().equals(room.getClient().getUid())) {
item.add(AttributeAppender.append("class", "current"));
}
@@ -160,7 +161,7 @@ public class RoomSidebar extends Panel {
}
private void updateShowFiles() {
- showFiles = !room.getRoom().getHideFilesExplorer() && room.getClient().hasRight(Right.whiteBoard);
+ showFiles = !room.getRoom().getHiddenElements().contains(RoomElement.Files) && room.getClient().hasRight(Right.whiteBoard);
}
public void updateUsers(IPartialPageRequestHandler handler) {
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1739633&r1=1739632&r2=1739633&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java Sun Apr 17 17:08:47 2016
@@ -42,6 +42,7 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.Client;
@@ -189,7 +190,7 @@ public class ChatPanel extends BasePanel
}
public void roomEnter(Room r, AjaxRequestTarget target) {
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
toggle(target, false);
return;
}
@@ -206,7 +207,7 @@ public class ChatPanel extends BasePanel
}
public void roomExit(Room r, IPartialPageRequestHandler handler) {
- if (r.isChatHidden()) {
+ if (r.getHiddenElements().contains(RoomElement.Chat)) {
return;
}
handler.appendJavaScript(String.format("removeChatTab('%1$s%2$d');", ID_ROOM_PREFIX, r.getId()));