Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1917,4 +1917,6 @@
        <entry key="widget.recent.title">Последние 
комнаты</entry>
        <entry key="widget.recent.desc">Эта секция 
отображает комнаты в которые Вы недавно зах
одили</entry>
        <entry key="files.root.group">Файлы группы</entry>
+       <entry key="recordings.root.group">Записи группы</entry>
+       <entry key="restricted.group.files">Доступ к групповым 
файлам ограничен</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1916,4 +1916,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1916,4 +1916,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1916,4 +1916,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1916,4 +1916,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1917,4 +1917,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1902,4 +1902,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 Tue Mar 28 03:35:19 2017
@@ -1916,4 +1916,6 @@
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
        <entry key="files.root.group">Group files</entry>
+       <entry key="recordings.root.group">Group recordings</entry>
+       <entry key="restricted.group.files">Group files are restricted</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Tue Mar 28 03:35:19 2017
@@ -339,6 +339,10 @@ public abstract class FileTreePanel exte
                return false;
        }
 
+       private static boolean isDownloadable(FileItem f) {
+               return !f.isReadOnly() && (f.getType() == Type.Presentation || 
f.getType() == Type.Image);
+       }
+
        public void select(FileItem fi, AjaxRequestTarget target, boolean 
shift, boolean ctrl) {
                updateSelected(target); //all previously selected are in update 
list
                if (ctrl) {
@@ -374,7 +378,7 @@ public abstract class FileTreePanel exte
                }
                updateSelected(target); //all finaly selected are in the update 
list
                if (target != null) {
-                       target.add(trashBorder, 
download.setVisible(lastSelected.getType() == Type.Presentation || 
lastSelected.getType() == Type.Image));
+                       target.add(trashBorder, 
download.setVisible(isDownloadable(lastSelected)));
                }
        }
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
 Tue Mar 28 03:35:19 2017
@@ -18,7 +18,9 @@
  */
 package org.apache.openmeetings.web.common.tree;
 
+import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
@@ -51,12 +53,13 @@ public class OmTreeProvider implements I
        public static String FILES_GROUP = "files-group-%s";
        private final Long roomId;
        private final List<FileItem> roots = new ArrayList<>();
-       private final String PUBLIC, GROUP;
+       private final String PUBLIC, GROUP_FILE, GROUP_REC;
 
        public OmTreeProvider(Long roomId) {
                this.roomId = roomId;
                PUBLIC = Application.getString(861);
-               GROUP = Application.getString("files.root.group");
+               GROUP_FILE = Application.getString("files.root.group");
+               GROUP_REC = Application.getString("recordings.root.group");
                refreshRoots(true);
        }
 
@@ -87,15 +90,18 @@ public class OmTreeProvider implements I
                }
                for (GroupUser gu : 
getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
                        Group g = gu.getGroup();
+                       boolean readOnly = g.isRestricted() && 
!hasAdminLevel(getRights()) && !gu.isModerator();
                        if (all) {
-                               FileItem r = createRoot(String.format("%s 
(%s)", PUBLIC, g.getName()), String.format(RECORDINGS_GROUP, g.getId()), true);
+                               FileItem r = createRoot(String.format("%s 
(%s)", GROUP_REC, g.getName()), String.format(RECORDINGS_GROUP, g.getId()), 
true);
+                               r.setReadOnly(readOnly);
                                r.setGroupId(g.getId());
                                rRoot.add(r);
                        }
-                       /*FileItem r = createRoot(String.format("%s (%s)", 
GROUP, g.getName()), String.format(FILES_GROUP, g.getId()), false);
+                       FileItem r = createRoot(String.format("%s (%s)", 
GROUP_FILE, g.getName()), String.format(FILES_GROUP, g.getId()), false);
                        r.setGroupId(g.getId());
-                       r.setReadOnly(roomId == null); //group videos are 
read-only in recordings tree
-                       fRoot.add(r);*/
+                       //group videos are read-only in recordings tree
+                       r.setReadOnly(roomId == null || readOnly);
+                       fRoot.add(r);
                }
                roots.clear();
                if (roomId == null) {
@@ -147,12 +153,12 @@ public class OmTreeProvider implements I
                                if (node.getRoomId() != null) {
                                        _list = dao.getByRoom(node.getRoomId());
                                } else if (node.getGroupId() != null) {
-                                       _list = 
dao.getByGroup(node.getGroupId(), /*roomId == null ? VIDEO_TYPES : */null);
+                                       _list = 
dao.getByGroup(node.getGroupId(), roomId == null ? VIDEO_TYPES : null);
                                } else {
                                        _list = 
dao.getByOwner(node.getOwnerId());
                                }
                        } else {
-                               _list = dao.getByParent(id, /*roomId == null ? 
VIDEO_TYPES : */null);
+                               _list = dao.getByParent(id, roomId == null ? 
VIDEO_TYPES : null);
                        }
                        list.addAll(_list);
                }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 Tue Mar 28 03:35:19 2017
@@ -25,6 +25,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getOnlineClient;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.io.File;
 import java.util.Map.Entry;
@@ -32,6 +33,7 @@ import java.util.Map.Entry;
 import org.apache.directory.api.util.Strings;
 import org.apache.openmeetings.core.data.whiteboard.WhiteboardCache;
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.dto.room.Whiteboard;
 import org.apache.openmeetings.db.dto.room.Whiteboards;
 import org.apache.openmeetings.db.entity.basic.Client;
@@ -111,6 +113,9 @@ public class RoomResourceReference exten
                                }
                        }
                }
+               if (f.getGroupId() != null && 
getBean(GroupUserDao.class).isUserInGroup(f.getGroupId(), getUserId())) {
+                       return f;
+               }
                return null;
        }
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1789037&r1=1789036&r2=1789037&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Tue Mar 28 03:35:19 2017
@@ -147,8 +147,8 @@ public class VideoInfo extends Panel {
                        }
                }
                reConvert.setEnabled(reConvEnabled);
-               downloadBtn.setEnabled(exists);
-               share.setEnabled(exists);
+               downloadBtn.setEnabled(exists && !_r.isReadOnly());
+               share.setEnabled(exists && !_r.isReadOnly());
                if (target != null) {
                        target.add(form);
                }
@@ -178,8 +178,8 @@ public class VideoInfo extends Panel {
 
                        @Override
                        public boolean isEnabled() {
-                               Recording r = rm.getObject();
-                               return r != null && r.exists(EXTENSION_MP4);
+                               FileItem r = rm.getObject();
+                               return r != null && r.exists(EXTENSION_MP4) && 
!r.isReadOnly();
                        }
 
                        @Override


Reply via email to