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 601e319  [OPENMEETINGS-1987] actions are only visible to 'self' and 
moderators
601e319 is described below

commit 601e319df119ae202ca5933f5b9e2ffa39594572
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Mon Feb 11 12:12:43 2019 +0700

    [OPENMEETINGS-1987] actions are only visible to 'self' and moderators
---
 .../web/room/activities/ActivitiesPanel.java       |  9 +++++-
 .../openmeetings/web/room/activities/Activity.java | 32 ++++++++++++++++------
 2 files changed, 31 insertions(+), 10 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
index be9f2b5..127877d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
@@ -159,13 +159,20 @@ public class ActivitiesPanel extends Panel {
                add(action);
        }
 
+       private boolean shouldSkip(final boolean self, final Activity a) {
+               return !self && a.getType().isAction() && 
!room.getClient().hasRight(Right.moderator);
+       }
+
        public void add(Activity a, IPartialPageRequestHandler handler) {
                if (!isVisible()) {
                        return;
                }
+               final boolean self = getUserId().equals(a.getSender());
+               if (shouldSkip(self, a)) {
+                       return;
+               }
                activities.put(a.getId(), a);
                String text = "";
-               final boolean self = getUserId().equals(a.getSender());
                final String name = self ? getString("1362") : a.getName();
                final String fmt = ((BasePage)getPage()).isRtl() ? 
ACTIVITY_FMT_RTL : ACTIVITY_FMT;
                switch (a.getType()) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/Activity.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/Activity.java
index d07d8dc..56a0d63 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/Activity.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/Activity.java
@@ -29,15 +29,29 @@ public class Activity implements Serializable {
        public enum Type {
                roomEnter
                , roomExit
-               , reqRightModerator
-               , reqRightPresenter
-               , reqRightWb
-               , reqRightShare
-               , reqRightRemote
-               , reqRightA
-               , reqRightAv
-               , reqRightExclusive
-               , haveQuestion
+               , reqRightModerator(true)
+               , reqRightPresenter(true)
+               , reqRightWb(true)
+               , reqRightShare(true)
+               , reqRightRemote(true)
+               , reqRightA(true)
+               , reqRightAv(true)
+               , reqRightExclusive(true)
+               , haveQuestion(true);
+
+               final boolean action;
+
+               private Type() {
+                       this(false);
+               }
+
+               private Type(boolean action) {
+                       this.action = action;
+               }
+
+               public boolean isAction() {
+                       return action;
+               }
        }
        private final String id;
        private final String uid;

Reply via email to