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
