Repository: openmeetings Updated Branches: refs/heads/4.0.x be2d146f2 -> 1b49cb900
[OPENMEETINGS-1766] group logo is displayed for invited user Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/1b49cb90 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/1b49cb90 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/1b49cb90 Branch: refs/heads/4.0.x Commit: 1b49cb900507582045882475d205630370b60444 Parents: be2d146 Author: Maxim Solodovnik <[email protected]> Authored: Mon Nov 20 19:02:52 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Mon Nov 20 19:02:52 2017 +0700 ---------------------------------------------------------------------- .../web/util/GroupLogoResourceReference.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1b49cb90/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java index 9826041..dab7428 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java @@ -32,7 +32,10 @@ import java.io.IOException; import javax.servlet.http.HttpServletResponse; +import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.user.GroupUserDao; +import org.apache.openmeetings.db.entity.room.Room; +import org.apache.openmeetings.db.entity.room.RoomGroup; import org.apache.openmeetings.web.app.WebSession; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -64,7 +67,8 @@ public class GroupLogoResourceReference extends FileSystemResourceReference { protected ResourceResponse newResourceResponse(Attributes attrs) { Long id = null; boolean allowed = false; - if (WebSession.get().isSignedIn()) { + WebSession ws = WebSession.get(); + if (ws.isSignedIn()) { PageParameters params = attrs.getParameters(); StringValue _id = params.get("id"); try { @@ -72,8 +76,17 @@ public class GroupLogoResourceReference extends FileSystemResourceReference { } catch (Exception e) { //no-op expected } - if (id == null || hasAdminLevel(getRights()) || null != getBean(GroupUserDao.class).getByGroupAndUser(id, getUserId())) { - allowed = true; + allowed = id == null || hasAdminLevel(getRights()) || null != getBean(GroupUserDao.class).getByGroupAndUser(id, getUserId()); + if (!allowed && ws.getInvitation() != null) { + Room r = ws.getInvitation().getRoom() == null ? null : getBean(RoomDao.class).get(ws.getInvitation().getRoom().getId()); + if (r != null && r.getGroups() != null) { + for (RoomGroup rg : r.getGroups()) { + if (id.equals(rg.getGroup().getId())) { + allowed = true; + break; + } + } + } } } if (allowed) {
