Author: solomax
Date: Wed Mar  1 07:19:54 2017
New Revision: 1784861

URL: http://svn.apache.org/viewvc?rev=1784861&view=rev
Log:
[OPENMEETINGS-1579] room poll seems to work as expected

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
    
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.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-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
 Wed Mar  1 07:19:54 2017
@@ -30,6 +30,7 @@ public class RoomMessage implements IWeb
                , roomExit
                , roomClosed
                , pollCreated
+               , pollUpdated
                , recordingStarted
                , recordingStoped
                , sharingStarted

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Wed Mar  1 07:19:54 2017
@@ -285,9 +285,10 @@ public class RoomPanel extends BasePanel
                                IPartialPageRequestHandler handler = 
wsEvent.getHandler();
                                switch (m.getType()) {
                                        case pollCreated:
-                                               if (getUserId() != 
m.getUserId()) {
-                                                       
menu.pollCreated(handler);
-                                               }
+                                               menu.updatePoll(handler, 
m.getUserId());
+                                               break;
+                                       case pollUpdated:
+                                               menu.updatePoll(handler, null);
                                                break;
                                        case recordingStoped:
                                                {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Wed Mar  1 07:19:54 2017
@@ -320,13 +320,18 @@ public class RoomMenuPanel extends Panel
                handler.add(shareBtn.setVisible(shareVisible));
        }
 
-       public void pollCreated(IPartialPageRequestHandler handler) {
+       public void updatePoll(IPartialPageRequestHandler handler, Long 
createdBy) {
                RoomPoll rp = 
getBean(PollDao.class).getByRoom(room.getRoom().getId());
                if (rp != null) {
                        vote.updateModel(handler, rp);
+               }
+               if (createdBy != null && !getUserId().equals(createdBy)) {
                        vote.open(handler);
-                       update(handler);
                }
+               if (pollResults.isOpened()) {
+                       pollResults.updateModel(handler, 
room.getClient().hasRight(Room.Right.moderator));
+               }
+               update(handler);
        }
 
        public void exit(IPartialPageRequestHandler handler) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
 Wed Mar  1 07:19:54 2017
@@ -18,7 +18,9 @@
  */
 package org.apache.openmeetings.web.room.poll;
 
+import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -27,6 +29,7 @@ import java.util.List;
 import org.apache.openmeetings.db.dao.room.PollDao;
 import org.apache.openmeetings.db.entity.room.RoomPoll;
 import org.apache.openmeetings.db.entity.room.RoomPollAnswer;
+import org.apache.openmeetings.util.message.RoomMessage;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -78,6 +81,7 @@ public class PollResultsDialog extends A
        private boolean moderator = false;
        private final MessageDialog closeConfirm;
        private final MessageDialog deleteConfirm;
+       private boolean opened = false;
 
        public PollResultsDialog(String id, Long _roomId) {
                super(id, Application.getString(37));
@@ -112,7 +116,7 @@ public class PollResultsDialog extends A
                                        
getBean(PollDao.class).delete(dispForm.getModelObject());
                                        selForm.updateModel(handler);
                                        
dispForm.updateModel(selForm.select.getModelObject(), true, handler);
-                                       //TODO result dialogs of other users 
should also be updated
+                                       sendRoom(new RoomMessage(roomId, 
getUserId(), RoomMessage.Type.pollUpdated));
                                }
                        }
                });
@@ -128,7 +132,7 @@ public class PollResultsDialog extends A
                return Arrays.asList(delete, close, cancel);
        }
 
-       public void updateModel(AjaxRequestTarget target, boolean moderator) {
+       public void updateModel(IPartialPageRequestHandler target, boolean 
moderator) {
                selForm.updateModel(target);
                this.moderator = moderator;
                RoomPoll p = selForm.select.getModelObject();
@@ -191,7 +195,18 @@ public class PollResultsDialog extends A
        }
 
        @Override
+       protected void onOpen(IPartialPageRequestHandler handler) {
+               super.onOpen(handler);
+               opened = true;
+       }
+
+       @Override
        public void onClose(IPartialPageRequestHandler handler, DialogButton 
button) {
+               opened = false;
+       }
+
+       public boolean isOpened() {
+               return opened;
        }
 
        private static String[] getTicks(RoomPoll p) {

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=1784861&r1=1784860&r2=1784861&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 07:19:54 2017
@@ -369,7 +369,7 @@ public class AppointmentDialog extends A
                                }
                        }));
                        groupContainer.add(
-                               
groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true)
+                               
groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true)
                                , new Radio<>("group", 
Model.of(InviteeType.group))
                        );
                        if (showGroups) {

Modified: 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
 Wed Mar  1 07:19:54 2017
@@ -30,6 +30,7 @@ public class RoomMessage implements IWeb
                , roomExit
                , roomClosed
                , pollCreated
+               , pollUpdated
                , recordingStarted
                , recordingStoped
                , sharingStarted

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Wed Mar  1 07:19:54 2017
@@ -297,9 +297,10 @@ public class RoomPanel extends BasePanel
                                IPartialPageRequestHandler handler = 
wsEvent.getHandler();
                                switch (m.getType()) {
                                        case pollCreated:
-                                               if (getUserId() != 
m.getUserId()) {
-                                                       
menu.pollCreated(handler);
-                                               }
+                                               menu.updatePoll(handler, 
m.getUserId());
+                                               break;
+                                       case pollUpdated:
+                                               menu.updatePoll(handler, null);
                                                break;
                                        case recordingStoped:
                                                {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Wed Mar  1 07:19:54 2017
@@ -320,13 +320,18 @@ public class RoomMenuPanel extends Panel
                handler.add(shareBtn.setVisible(shareVisible));
        }
 
-       public void pollCreated(IPartialPageRequestHandler handler) {
+       public void updatePoll(IPartialPageRequestHandler handler, Long 
createdBy) {
                RoomPoll rp = 
getBean(PollDao.class).getByRoom(room.getRoom().getId());
                if (rp != null) {
                        vote.updateModel(handler, rp);
+               }
+               if (createdBy != null && !getUserId().equals(createdBy)) {
                        vote.open(handler);
-                       update(handler);
                }
+               if (pollResults.isOpened()) {
+                       pollResults.updateModel(handler, 
room.getClient().hasRight(Room.Right.moderator));
+               }
+               update(handler);
        }
 
        public void exit(IPartialPageRequestHandler handler) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java?rev=1784861&r1=1784860&r2=1784861&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
 Wed Mar  1 07:19:54 2017
@@ -18,7 +18,9 @@
  */
 package org.apache.openmeetings.web.room.poll;
 
+import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -27,6 +29,7 @@ import java.util.List;
 import org.apache.openmeetings.db.dao.room.PollDao;
 import org.apache.openmeetings.db.entity.room.RoomPoll;
 import org.apache.openmeetings.db.entity.room.RoomPollAnswer;
+import org.apache.openmeetings.util.message.RoomMessage;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -78,6 +81,7 @@ public class PollResultsDialog extends A
        private boolean moderator = false;
        private final MessageDialog closeConfirm;
        private final MessageDialog deleteConfirm;
+       private boolean opened = false;
 
        public PollResultsDialog(String id, Long _roomId) {
                super(id, Application.getString(37));
@@ -112,7 +116,7 @@ public class PollResultsDialog extends A
                                        
getBean(PollDao.class).delete(dispForm.getModelObject());
                                        selForm.updateModel(handler);
                                        
dispForm.updateModel(selForm.select.getModelObject(), true, handler);
-                                       //TODO result dialogs of other users 
should also be updated
+                                       sendRoom(new RoomMessage(roomId, 
getUserId(), RoomMessage.Type.pollUpdated));
                                }
                        }
                });
@@ -128,7 +132,7 @@ public class PollResultsDialog extends A
                return Arrays.asList(delete, close, cancel);
        }
 
-       public void updateModel(AjaxRequestTarget target, boolean moderator) {
+       public void updateModel(IPartialPageRequestHandler target, boolean 
moderator) {
                selForm.updateModel(target);
                this.moderator = moderator;
                RoomPoll p = selForm.select.getModelObject();
@@ -191,7 +195,18 @@ public class PollResultsDialog extends A
        }
 
        @Override
+       protected void onOpen(IPartialPageRequestHandler handler) {
+               super.onOpen(handler);
+               opened = true;
+       }
+
+       @Override
        public void onClose(IPartialPageRequestHandler handler, DialogButton 
button) {
+               opened = false;
+       }
+
+       public boolean isOpened() {
+               return opened;
        }
 
        private static String[] getTicks(RoomPoll p) {

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=1784861&r1=1784860&r2=1784861&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 07:19:54 2017
@@ -369,7 +369,7 @@ public class AppointmentDialog extends A
                                }
                        }));
                        groupContainer.add(
-                               
groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true)
+                               
groups.setLabel(Model.of(Application.getString(126))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true)
                                , new Radio<>("group", 
Model.of(InviteeType.group))
                        );
                        if (showGroups) {


Reply via email to