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) {

Reply via email to