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 2020/04/15 16:10:35 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2263] sharing can be allowed if recording is disallowed

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 0c65ae8  [OPENMEETINGS-2263] sharing can be allowed if recording is disallowed
0c65ae8 is described below

commit 0c65ae8fac29ddb8dcd6da344089604c7bd6dc56
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Apr 15 23:09:16 2020 +0700

    [OPENMEETINGS-2263] sharing can be allowed if recording is disallowed
---
 .../openmeetings/core/remote/StreamProcessor.java  |  1 -
 .../apache/openmeetings/web/room/RoomPanel.java    |  1 +
 .../org/apache/openmeetings/web/room/raw-sharer.js | 41 ++++++++++++----------
 3 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
index 40ab564..1032a8a 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
@@ -314,7 +314,6 @@ public class StreamProcessor implements IStreamProcessor {
 		Room r = c.getRoom();
 		return r != null && Room.Type.INTERVIEW != r.getType()
 				&& !r.isHidden(RoomElement.SCREEN_SHARING)
-				&& r.isAllowRecording()
 				&& c.hasRight(Right.SHARE);
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index ffd9ca3..2391eb1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -142,6 +142,7 @@ public class RoomPanel extends BasePanel {
 					.put("rights", c.toJson(true).getJSONArray("rights"))
 					.put("interview", interview)
 					.put("audioOnly", r.isAudioOnly())
+					.put("allowRecording", r.isAllowRecording())
 					.put("questions", r.isAllowUserQuestions())
 					.put("showMicStatus", !r.getHiddenElements().contains(RoomElement.MICROPHONE_STATUS));
 			if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin() != null || ws.getInvitation() != null)) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
index 46faf98..3d7a146 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
@@ -44,23 +44,28 @@ var Sharer = (function() {
 			});
 			width = sharer.find('.width');
 			height = sharer.find('.height');
-			rbtn = sharer.find('.record-start-stop').off().click(function() {
-				if (recState === SHARE_STOPED) {
-					_setRecState(SHARE_STARTING);
-					VideoManager.sendMessage({
-						id: 'wannaRecord'
-						, shareType: type.val()
-						, fps: fps.val()
-						, width: width.val()
-						, height: height.val()
-					});
-				} else {
-					VideoManager.sendMessage({
-						id: 'stopRecord'
-						, uid: _getShareUid()
-					});
-				}
-			});
+			rbtn = sharer.find('.record-start-stop').off();
+			if (Room.getOptions().allowRecording) {
+				rbtn.show().click(function() {
+					if (recState === SHARE_STOPED) {
+						_setRecState(SHARE_STARTING);
+						VideoManager.sendMessage({
+							id: 'wannaRecord'
+							, shareType: type.val()
+							, fps: fps.val()
+							, width: width.val()
+							, height: height.val()
+						});
+					} else {
+						VideoManager.sendMessage({
+							id: 'stopRecord'
+							, uid: _getShareUid()
+						});
+					}
+				});
+			} else {
+				rbtn.hide();
+			}
 		}
 	}
 	function _disable(e, state) {
@@ -78,7 +83,7 @@ var Sharer = (function() {
 	function _setBtnState(btn, state) {
 		const dis = SHARE_STOPED !== state
 			, typeDis = _typeDisabled();
-		_disable(type, dis || typeDis);
+		_disable(type, dis);
 		_disable(fps, dis || typeDis);
 		_disable(width, dis);
 		_disable(height, dis);