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