[OPENMEETINGS-1520, OPENMEETINGS-1554] restricted drive seems to be implemented
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/1f06a145 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/1f06a145 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/1f06a145 Branch: refs/heads/3.2.x Commit: 1f06a145e974881d1f3ecf4d4c9810832244b048 Parents: 00b8a9a Author: Maxim Solodovnik <[email protected]> Authored: Tue Mar 28 03:35:19 2017 +0000 Committer: Maxim Solodovnik <[email protected]> Committed: Tue Mar 28 03:35:19 2017 +0000 ---------------------------------------------------------------------- .../db/dao/file/FileExplorerItemDao.java | 3 +++ .../openmeetings/db/entity/user/Group.java | 12 +++++++++++ .../web/admin/groups/GroupForm.java | 4 +++- .../web/admin/groups/GroupsPanel.html | 3 +++ .../web/admin/groups/GroupsPanel.java | 2 +- .../web/app/Application.properties.xml | 2 ++ .../web/app/Application_ar.properties.xml | 2 ++ .../web/app/Application_bg.properties.xml | 2 ++ .../web/app/Application_ca.properties.xml | 2 ++ .../web/app/Application_cs.properties.xml | 2 ++ .../web/app/Application_da.properties.xml | 2 ++ .../web/app/Application_de.properties.xml | 2 ++ .../web/app/Application_el.properties.xml | 2 ++ .../web/app/Application_es.properties.xml | 2 ++ .../web/app/Application_fa.properties.xml | 2 ++ .../web/app/Application_fi.properties.xml | 2 ++ .../web/app/Application_fr.properties.xml | 2 ++ .../web/app/Application_gl.properties.xml | 2 ++ .../web/app/Application_hu.properties.xml | 2 ++ .../web/app/Application_id.properties.xml | 2 ++ .../web/app/Application_it.properties.xml | 2 ++ .../web/app/Application_ja.properties.xml | 2 ++ .../web/app/Application_ko.properties.xml | 2 ++ .../web/app/Application_nl.properties.xml | 2 ++ .../web/app/Application_pl.properties.xml | 2 ++ .../web/app/Application_pt.properties.xml | 2 ++ .../web/app/Application_pt_BR.properties.xml | 2 ++ .../web/app/Application_ru.properties.xml | 2 ++ .../web/app/Application_sk.properties.xml | 2 ++ .../web/app/Application_sv.properties.xml | 2 ++ .../web/app/Application_th.properties.xml | 2 ++ .../web/app/Application_tr.properties.xml | 2 ++ .../web/app/Application_uk.properties.xml | 2 ++ .../web/app/Application_zh_CN.properties.xml | 2 ++ .../web/app/Application_zh_TW.properties.xml | 2 ++ .../web/common/tree/FileTreePanel.java | 6 +++++- .../web/common/tree/OmTreeProvider.java | 22 +++++++++++++------- .../web/room/RoomResourceReference.java | 5 +++++ .../openmeetings/web/user/record/VideoInfo.java | 8 +++---- 39 files changed, 110 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java index 91251f6..de6c582 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java @@ -114,6 +114,9 @@ public class FileExplorerItemDao { } public List<FileExplorerItem> getByGroup(Long groupId, List<Type> filter) { + if (filter == null) { + return getByGroup(groupId); + } log.debug("getByGroup() started"); return em.createNamedQuery("getFileFilteredByGroup", FileExplorerItem.class) .setParameter("filter", filter) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java index 2840a88..d0d0d3b 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Group.java @@ -82,6 +82,10 @@ public class Group implements IDataProviderEntity { @Element(data = true, required = false) private boolean limited; + @Column(name = "restricted", nullable = false) + @Element(data = true, required = false) + private boolean restricted; + @Column(name = "max_files_size", nullable = false) @Element(data = true, required = false) private int maxFilesSize; @@ -176,6 +180,14 @@ public class Group implements IDataProviderEntity { this.limited = limited; } + public boolean isRestricted() { + return restricted; + } + + public void setRestricted(boolean restricted) { + this.restricted = restricted; + } + public int getMaxFilesSize() { return maxFilesSize; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java index f582f3c..cddb3da 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java @@ -42,6 +42,7 @@ import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior; import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.form.CheckBox; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.NumberTextField; import org.apache.wicket.markup.html.form.RequiredTextField; @@ -151,6 +152,7 @@ public class GroupForm extends AdminBaseForm<Group> { add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165")))); add(logo); add(new TextField<String>("tag").setLabel(Model.of(getString("admin.group.form.tag")))); + add(new CheckBox("restricted").setLabel(Model.of(getString("restricted.group.files")))); add(new AjaxCheckBox("limited") { private static final long serialVersionUID = 1L; @@ -182,7 +184,7 @@ public class GroupForm extends AdminBaseForm<Group> { reminderDays.setEnabled(getModelObject().isLimited()); logo.update(); target.add(this, groupList); - target.appendJavaScript("groupsInit();"); + target.appendJavaScript("adminPanelInit();"); } private long getGroupId() { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html index fd224e3..a1e5637 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html @@ -61,6 +61,9 @@ <div wicket:id="users"></div> </div> <div class="formelement"> + <label><wicket:message key="restricted.group.files" /></label><input type="checkbox" wicket:id="restricted" /> + </div> + <div class="formelement"> <label><wicket:message key="admin.group.form.limited" /></label><input type="checkbox" wicket:id="limited" /> </div> <div class="formelement" style="display:none"> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java index 8d5143c..dcd492c 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java @@ -73,7 +73,7 @@ public class GroupsPanel extends AdminPanel { form.setModelObject(g); form.updateView(target); target.add(listContainer); - target.appendJavaScript("groupsInit();"); + target.appendJavaScript("adminPanelInit();"); } }); item.add(AttributeModifier.append("class", getRowClass(g.getId(), form.getModelObject().getId()))); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml index 21663c7..7bc6f18 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml index 1c05d59..b7c288a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml index f892a03..4b3a832 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml index b33cdca..7c5f522 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml index 49f93dc..97b45d4 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml index 23f42dc..f3c94e9 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml index d35cf24..1a27940 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml @@ -1937,4 +1937,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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml index e1682e5..9a584ac 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml index 2a4cfd3..9e36b54 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml index bd48444..143a88a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml index eb9e668..d6ed20a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml index a0aee6f..15e2cb4 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml @@ -1905,4 +1905,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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml index a4ba389..a3a23dd 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml index 697685c..ad4df2c 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml @@ -1900,4 +1900,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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml index cfcc6f3..fa6a270 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml index e63acd0..6529300 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml @@ -1918,4 +1918,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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml index 7b5ad4b..bf18b04 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml index 1a98520..8153210 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml @@ -1918,4 +1918,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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml index b20659f..8a7200b 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml index c1b34c6..5b1e7f1 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml index dadb940..41895a1 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml index 592b2b5..226709d 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml index 8a98b24..46a230f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml index e0834bd..7445549 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml index 8a6afc1..8d40105 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml index 529a24e..ea36782 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml index 5d3f413..b7c1940 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml index 5dc846e..3f6c48d 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml index 625cedb..af65d28 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml index a145d25..13a5598 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml @@ -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> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java index 8465a14..5fb868c 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java @@ -340,6 +340,10 @@ public abstract class FileTreePanel extends Panel { 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) { @@ -375,7 +379,7 @@ public abstract class FileTreePanel extends Panel { } 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))); } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java index e81dd3c..4fe46e0 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java @@ -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 ITreeProvider<FileItem> { 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 ITreeProvider<FileItem> { } 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 ITreeProvider<FileItem> { 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); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java index 226639e..1b614d8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java @@ -25,6 +25,7 @@ import static org.apache.openmeetings.util.OmFileHelper.MP4_MIME_TYPE; 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; @@ -107,6 +109,9 @@ public class RoomResourceReference extends FileItemResourceReference<FileExplore } } } + if (f.getGroupId() != null && getBean(GroupUserDao.class).isUserInGroup(f.getGroupId(), getUserId())) { + return f; + } return null; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1f06a145/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java index c09ea76..a5a6285 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java @@ -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
