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