Author: solomax
Date: Wed Mar  1 08:16:35 2017
New Revision: 1784866

URL: http://svn.apache.org/viewvc?rev=1784866&view=rev
Log:
[OPENMEETINGS-1420] seems to be implemented

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1784866&r1=1784865&r2=1784866&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 Wed Mar  1 08:16:35 2017
@@ -20,6 +20,7 @@ package org.apache.openmeetings.web.user
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 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 static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
 import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
@@ -34,6 +35,7 @@ import java.util.Set;
 
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
@@ -43,6 +45,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.service.calendar.caldav.AppointmentManager;
 import org.apache.openmeetings.web.app.Application;
@@ -218,9 +221,24 @@ public class AppointmentDialog extends A
                a.setRoom(form.createRoom ? form.appRoom : 
form.groom.getModelObject());
                final List<MeetingMember> mms = a.getMeetingMembers() == null ? 
new ArrayList<>() : a.getMeetingMembers();
                Set<Long> currentIds = new HashSet<>();
-               for (User u : attendees.getModelObject()) {
-                       if (u.getId() != null) {
-                               currentIds.add(u.getId());
+               List<User> users = new ArrayList<>();
+               if (InviteeType.group == rdi.getModelObject()) {
+                       //lets iterate through all group users
+                       for (Group g : groups.getModelObject()) {
+                               for (GroupUser gu : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+                                       User u = gu.getUser();
+                                       if (!currentIds.contains(u.getId())) {
+                                               users.add(u);
+                                               currentIds.add(u.getId());
+                                       }
+                               }
+                       }
+               } else {
+                       users = new ArrayList<>(attendees.getModelObject());
+                       for (User u : users) {
+                               if (u.getId() != null) {
+                                       currentIds.add(u.getId());
+                               }
                        }
                }
 
@@ -236,7 +254,7 @@ public class AppointmentDialog extends A
                        originalIds.add(m.getUser().getId());
                }
                //add users
-               for (User u : attendees.getModelObject()) {
+               for (User u : users) {
                        if (u.getId() == null || 
!originalIds.contains(u.getId())) {
                                MeetingMember mm = new MeetingMember();
                                mm.setUser(u);
@@ -338,6 +356,7 @@ public class AppointmentDialog extends A
                                cals.setEnabled(false);
                        }
 
+                       rdi.setModelObject(InviteeType.user);
                        attendees.setModelObject(new ArrayList<>());
                        if (a.getMeetingMembers() != null) {
                                for (MeetingMember mm : a.getMeetingMembers()) {
@@ -358,7 +377,7 @@ public class AppointmentDialog extends A
                        add(new 
RequiredTextField<String>("title").setLabel(Model.of(Application.getString(572))));
                        add(start.setRequired(true), end.setRequired(true));
                        add(ownerPanel.add(owner));
-                       boolean showGroups = 
false;//AuthLevelUtil.hasAdminLevel(getRights());
+                       boolean showGroups = 
AuthLevelUtil.hasAdminLevel(getRights());
                        add(rdi.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
                                private static final long serialVersionUID = 1L;
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1784866&r1=1784865&r2=1784866&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 Wed Mar  1 08:16:35 2017
@@ -20,6 +20,7 @@ package org.apache.openmeetings.web.user
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 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 static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
 import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
@@ -34,6 +35,7 @@ import java.util.Set;
 
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
@@ -43,6 +45,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.service.calendar.caldav.AppointmentManager;
 import org.apache.openmeetings.web.app.Application;
@@ -218,9 +221,24 @@ public class AppointmentDialog extends A
                a.setRoom(form.createRoom ? form.appRoom : 
form.groom.getModelObject());
                final List<MeetingMember> mms = a.getMeetingMembers() == null ? 
new ArrayList<>() : a.getMeetingMembers();
                Set<Long> currentIds = new HashSet<>();
-               for (User u : attendees.getModelObject()) {
-                       if (u.getId() != null) {
-                               currentIds.add(u.getId());
+               List<User> users = new ArrayList<>();
+               if (InviteeType.group == rdi.getModelObject()) {
+                       //lets iterate through all group users
+                       for (Group g : groups.getModelObject()) {
+                               for (GroupUser gu : 
getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
+                                       User u = gu.getUser();
+                                       if (!currentIds.contains(u.getId())) {
+                                               users.add(u);
+                                               currentIds.add(u.getId());
+                                       }
+                               }
+                       }
+               } else {
+                       users = new ArrayList<>(attendees.getModelObject());
+                       for (User u : users) {
+                               if (u.getId() != null) {
+                                       currentIds.add(u.getId());
+                               }
                        }
                }
 
@@ -236,7 +254,7 @@ public class AppointmentDialog extends A
                        originalIds.add(m.getUser().getId());
                }
                //add users
-               for (User u : attendees.getModelObject()) {
+               for (User u : users) {
                        if (u.getId() == null || 
!originalIds.contains(u.getId())) {
                                MeetingMember mm = new MeetingMember();
                                mm.setUser(u);
@@ -338,6 +356,7 @@ public class AppointmentDialog extends A
                                cals.setEnabled(false);
                        }
 
+                       rdi.setModelObject(InviteeType.user);
                        attendees.setModelObject(new ArrayList<>());
                        if (a.getMeetingMembers() != null) {
                                for (MeetingMember mm : a.getMeetingMembers()) {
@@ -358,7 +377,7 @@ public class AppointmentDialog extends A
                        add(new 
RequiredTextField<String>("title").setLabel(Model.of(Application.getString(572))));
                        add(start.setRequired(true), end.setRequired(true));
                        add(ownerPanel.add(owner));
-                       boolean showGroups = 
false;//AuthLevelUtil.hasAdminLevel(getRights());
+                       boolean showGroups = 
AuthLevelUtil.hasAdminLevel(getRights());
                        add(rdi.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
                                private static final long serialVersionUID = 1L;
 


Reply via email to