You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/11/20 12:03:02 UTC

openmeetings git commit: [OPENMEETINGS-1766] group logo is displayed for invited user

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 <so...@gmail.com>
Authored: Mon Nov 20 19:02:52 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
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) {