You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2013/06/27 10:45:37 UTC
svn commit: r1497244 - in /openmeetings/trunk/singlewebapp:
WebContent/openmeetings/css/ src/org/apache/openmeetings/web/admin/
src/org/apache/openmeetings/web/admin/groups/
src/org/apache/openmeetings/web/admin/rooms/
Author: vdegtyarev
Date: Thu Jun 27 08:45:36 2013
New Revision: 1497244
URL: http://svn.apache.org/r1497244
Log:
OPENMEETINGS-673: SIP and Moderators fields are added.
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AddUsersForm.java
- copied, changed from r1496728, openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/AddUsersForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AdminCommonUserForm.java
Removed:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/AddUsersForm.java
Modified:
openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java
Modified: openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css (original)
+++ openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css Thu Jun 27 08:45:36 2013
@@ -125,6 +125,11 @@ table.adminListTable th {
color: #ffffff;
}
+table.adminListTableSmall th {
+ background: #AFCBFB;
+ color: #ffffff;
+}
+
table.adminListTable th.two_column_layout_column1 {
width: 136px;
}
@@ -163,6 +168,24 @@ table.adminListTable th.three_column_lay
width: 244px;
}
+table.adminListTableSmall th.three_column_layout_column1 {
+ width: 50px;
+}
+
+table.adminListTableSmall th.three_column_layout_column2 {
+ width: 50px;
+}
+
+table.adminListTableSmall th.three_column_layout_column3 {
+ width: 218px;
+}
+table.adminListTableSmall th.three_column_layout_column4 {
+ width: 150px;
+}
+table.adminListTableSmall th.three_column_layout_column5 {
+ width: 50px;
+}
+
table.adminListTable td.three_column_layout_column1 {
width: 96px;
}
@@ -175,6 +198,24 @@ table.adminListTable td.three_column_lay
width: 244px;
}
+table.adminListTableSmall td.three_column_layout_column1 {
+ width: 50px;
+}
+
+table.adminListTableSmall td.three_column_layout_column2 {
+ width: 50px;
+}
+
+table.adminListTableSmall td.three_column_layout_column3 {
+ width: 218px;
+}
+table.adminListTableSmall td.three_column_layout_column4 {
+ width: 150px;
+}
+table.adminListTableSmall td.three_column_layout_column5 {
+ width: 50px;
+}
+
table.adminListTable td div.three_column_layout_divcolumn1 {
word-wrap: break-word;
width: 96px;
@@ -190,6 +231,26 @@ table.adminListTable td div.three_column
width: 244px;
}
+table.adminListTableSmall td div.three_column_layout_divcolumn1 {
+ width: 50px;
+}
+
+table.adminListTableSmall td div.three_column_layout_divcolumn2 {
+ width: 50px;
+}
+
+table.adminListTableSmall td div.three_column_layout_divcolumn3 {
+ width: 218px;
+}
+
+table.adminListTableSmall td div.three_column_layout_divcolumn4 {
+ width: 150px;
+}
+
+table.adminListTableSmall td div.three_column_layout_divcolumn5 {
+ width: 50px;
+}
+
table.adminListTable th.four_column_layout_column1 {
width: 96px;
}
@@ -246,10 +307,18 @@ table.adminListTable tr.even {
background-color: #EDF2FF;
}
+table.adminListTableSmall tr.even {
+ background-color: #EDF2FF;
+}
+
table.adminListTable tr.odd {
background-color: #F2FAFF;
}
+table.adminListTableSmall tr.odd {
+ background-color: #F2FAFF;
+}
+
table.adminListTable tr:hover {
background-color: #CCDCE8;
}
@@ -266,6 +335,14 @@ div.tableWrapper {
overflow-y: scroll;
}
+div.tableWrapperSmall {
+ background-color: #FFFFFF;
+ border: solid 1px #aacfe4;
+ width: 536px;
+ height: 100px;
+ overflow-y: scroll;
+}
+
.adminPanelColumnForm {
display: inline-block;
vertical-align: top;
Copied: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AddUsersForm.java (from r1496728, openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/AddUsersForm.java)
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AddUsersForm.java?p2=openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AddUsersForm.java&p1=openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/AddUsersForm.java&r1=1496728&r2=1497244&rev=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/AddUsersForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AddUsersForm.java Thu Jun 27 08:45:36 2013
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.admin.groups;
+package org.apache.openmeetings.web.admin;
import static org.apache.openmeetings.web.admin.groups.GroupUsersPanel.getUser;
@@ -24,8 +24,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.openmeetings.data.user.dao.UsersDao;
-import org.apache.openmeetings.persistence.beans.domain.Organisation;
-import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
import org.apache.openmeetings.persistence.beans.user.User;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
@@ -41,12 +39,11 @@ import org.apache.wicket.model.PropertyM
public class AddUsersForm extends Form<Void> {
private static final long serialVersionUID = -2458265250684437277L;
- private Organisation organisation;
private String userSearchText;
private List<User> usersInList = new ArrayList<User>();
private List<User> usersToAdd = new ArrayList<User>();
- public AddUsersForm(String id, final GroupForm groupForm) {
+ public AddUsersForm(String id, final AdminCommonUserForm<?> commonForm) {
super(id);
IModel<List<User>> listUsersModel = new PropertyModel<List<User>>(AddUsersForm.this, "usersInList");
@@ -81,25 +78,8 @@ public class AddUsersForm extends Form<V
private static final long serialVersionUID = 5553555064487161840L;
protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) {
- UsersDao userDao = Application.getBean(UsersDao.class);
- for (User u : usersToAdd) {
- List<Organisation_Users> orgUsers = u.getOrganisation_users();
- boolean found = false;
- for (Organisation_Users ou : orgUsers) {
- if (ou.getOrganisation().getOrganisation_id().equals(organisation.getOrganisation_id())) {
- found = true;
- break;
- }
- }
- if (!found) {
- Organisation_Users orgUser = new Organisation_Users(organisation);
- orgUser.setDeleted(false);
- orgUsers.add(orgUser);
- userDao.update(u, WebSession.getUserId());
- }
- }
- target.appendJavaScript("$('#addUsers').dialog('close');");
- groupForm.updateView(target);
+ commonForm.submitView(target, usersToAdd);
+ commonForm.updateView(target);
}
});
}
@@ -109,7 +89,4 @@ public class AddUsersForm extends Form<V
usersInList.clear();
}
- public void setOrganisation(Organisation org) {
- organisation = org;
- }
}
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AdminCommonUserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AdminCommonUserForm.java?rev=1497244&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AdminCommonUserForm.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/AdminCommonUserForm.java Thu Jun 27 08:45:36 2013
@@ -0,0 +1,23 @@
+package org.apache.openmeetings.web.admin;
+
+import java.util.List;
+
+import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.model.IModel;
+
+public abstract class AdminCommonUserForm<T> extends AdminBaseForm<T> {
+
+ private static final long serialVersionUID = -827309847606809118L;
+
+ @SuppressWarnings("unchecked")
+ public AdminCommonUserForm(String id, IModel<?> object) {
+ super(id, (IModel<T>) object);
+ // TODO Auto-generated constructor stub
+ }
+
+ public abstract void updateView(AjaxRequestTarget target);
+
+ public abstract void submitView(AjaxRequestTarget target, List<User> usersToAdd);
+
+}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java Thu Jun 27 08:45:36 2013
@@ -21,9 +21,15 @@ package org.apache.openmeetings.web.admi
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import java.util.List;
+
import org.apache.openmeetings.data.user.dao.OrganisationDao;
+import org.apache.openmeetings.data.user.dao.UsersDao;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
-import org.apache.openmeetings.web.admin.AdminBaseForm;
+import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
+import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.web.admin.AdminCommonUserForm;
+import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -34,7 +40,7 @@ import org.apache.wicket.model.CompoundP
import org.apache.wicket.model.Model;
import org.apache.wicket.util.time.Duration;
-public class GroupForm extends AdminBaseForm<Organisation> {
+public class GroupForm extends AdminCommonUserForm<Organisation> {
private static final long serialVersionUID = -1720731686053912700L;
private GroupUsersPanel usersPanel;
private WebMarkupContainer groupList;
@@ -53,11 +59,36 @@ public class GroupForm extends AdminBase
OmAjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", Duration.ONE_SECOND);
}
- void updateView(AjaxRequestTarget target) {
+ @Override
+ public void updateView(AjaxRequestTarget target) {
usersPanel.update(getOrgId());
target.add(this);
target.appendJavaScript("groupsInit();");
}
+
+ @Override
+ public void submitView(AjaxRequestTarget target, List<User> usersToAdd) {
+ // TODO Auto-generated method stub
+ UsersDao userDao = Application.getBean(UsersDao.class);
+ Organisation organisation = getModelObject();
+ for (User u : usersToAdd) {
+ List<Organisation_Users> orgUsers = u.getOrganisation_users();
+ boolean found = false;
+ for (Organisation_Users ou : orgUsers) {
+ if (ou.getOrganisation().getOrganisation_id().equals(organisation.getOrganisation_id())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ Organisation_Users orgUser = new Organisation_Users(organisation);
+ orgUser.setDeleted(false);
+ orgUsers.add(orgUser);
+ userDao.update(u, WebSession.getUserId());
+ }
+ }
+ target.appendJavaScript("$('#addUsers').dialog('close');");
+ }
private long getOrgId() {
return getModelObject().getOrganisation_id() != null ? getModelObject().getOrganisation_id() : 0;
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupsPanel.java?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupsPanel.java Thu Jun 27 08:45:36 2013
@@ -21,12 +21,13 @@ package org.apache.openmeetings.web.admi
import org.apache.openmeetings.data.user.dao.OrganisationDao;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
+import org.apache.openmeetings.web.admin.AddUsersForm;
import org.apache.openmeetings.web.admin.AdminPanel;
import org.apache.openmeetings.web.admin.SearchableDataView;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
import org.apache.openmeetings.web.data.DataViewContainer;
-import org.apache.openmeetings.web.data.SearchableDataProvider;
import org.apache.openmeetings.web.data.OrderByBorder;
+import org.apache.openmeetings.web.data.SearchableDataProvider;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -80,11 +81,10 @@ public class GroupsPanel extends AdminPa
addUsersBtn.add(AttributeModifier.replace("class", "formNewButton"));
}
addUsersBtn.setEnabled(!orgEmpty);
- addUsersForm.setOrganisation(getModelObject());
}
@Override
- void updateView(AjaxRequestTarget target) {
+ public void updateView(AjaxRequestTarget target) {
super.updateView(target);
target.add(addUsersBtn);
}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java Thu Jun 27 08:45:36 2013
@@ -23,21 +23,30 @@ import static org.apache.openmeetings.we
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
import org.apache.openmeetings.data.conference.RoomManager;
import org.apache.openmeetings.data.conference.dao.RoomDao;
+import org.apache.openmeetings.data.conference.dao.RoomModeratorsDao;
import org.apache.openmeetings.data.user.OrganisationManager;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
import org.apache.openmeetings.persistence.beans.room.Room;
+import org.apache.openmeetings.persistence.beans.room.RoomModerator;
import org.apache.openmeetings.persistence.beans.room.RoomOrganisation;
import org.apache.openmeetings.persistence.beans.room.RoomType;
-import org.apache.openmeetings.web.admin.AdminBaseForm;
+import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.web.admin.AdminCommonUserForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.ConfirmCallListener;
import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
+import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -47,16 +56,22 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.time.Duration;
-public class RoomForm extends AdminBaseForm<Room> {
+public class RoomForm extends AdminCommonUserForm<Room> {
private static final long serialVersionUID = 1L;
private final static List<Long> DROPDOWN_NUMBER_OF_PARTICIPANTS = Arrays.asList(2L, 4L, 6L, 8L, 10L, 12L, 14L, 16L, 20L, 25L, 32L, 50L,
100L, 150L, 200L, 500L, 1000L);
private final WebMarkupContainer roomList;
-
+ private final TextField<String> confno;
+ private final CheckBox sipEnabled;
+ final WebMarkupContainer moderatorContainer;
+ final ListView<RoomModerator> moderators;
+ List<RoomModerator> result = null;
public RoomForm(String id, WebMarkupContainer roomList, final Room room) {
super(id, new CompoundPropertyModel<Room>(room));
this.roomList = roomList;
@@ -106,6 +121,7 @@ public class RoomForm extends AdminBaseF
add(demoTime);
add(new CheckBox("allowUserQuestions"));
add(new CheckBox("isAudioOnly"));
+ add(new CheckBox("allowFontStyles"));
add(new CheckBox("isClosed"));
add(new TextField<String>("redirectURL"));
add(new CheckBox("waitForRecording"));
@@ -122,22 +138,76 @@ public class RoomForm extends AdminBaseF
add(new CheckBox("chatModerated"));
add(new CheckBox("chatOpened"));
add(new CheckBox("filesOpened"));
- add(new CheckBox("autoVideoSelect"));
+ add(new CheckBox("autoVideoSelect"));
+ moderators = new ListView<RoomModerator>("moderators", result) {
+ private static final long serialVersionUID = -7935197812421549677L;
+
+ @Override
+ protected void populateItem(final ListItem<RoomModerator> item) {
+ final RoomModerator moderator = item.getModelObject();
+ item.add(new Label("isSuperModerator", "" + moderator.getIsSuperModerator()))
+ .add(new Label("userId", "" + moderator.getUser().getUser_id()))
+ .add(new Label("uName", "" + moderator.getUser().getFirstname() + " " + moderator.getUser().getLastname()))
+ .add(new Label("email", ""+ moderator.getUser().getAdresses().getEmail()))
+ .add(new WebMarkupContainer("delete").add(new AjaxEventBehavior("onclick"){
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
+ super.updateAjaxAttributes(attributes);
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
+ }
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ Application.getBean(RoomModeratorsDao.class).removeRoomModeratorByUserId(moderator.getRoomModeratorsId());
+ updateModerators(target);
+ }
+ }));
+
+ item.add(AttributeModifier.replace("class", (item.getIndex() % 2 == 1) ? "even" : "odd"));
+ }
+ };
+
// FIXME: Room user moderator list
+ CheckBox isModeratedRoom = new CheckBox("isModeratedRoom");
+ add(isModeratedRoom.setOutputMarkupId(true));
- add(new CheckBox("isModeratedRoom"));
-
+ moderatorContainer = new WebMarkupContainer("moderatorContainer");
+
+ add(moderatorContainer.add(moderators).setOutputMarkupId(true));
+
+ confno = new TextField<String>("confno");
+ add(confno);
+ add(new TextField<String>("pin"));
+ add(new TextField<String>("ownerId"));
+ sipEnabled = new CheckBox("sipEnabled");
+ add(sipEnabled.setOutputMarkupId(true).add(new AjaxEventBehavior("onclick") {
+ private static final long serialVersionUID = -1206667381066917517L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ sipEnabled.setModelObject(!sipEnabled.getModelObject());
+ if (sipEnabled.getModelObject() && confno.getModelObject() == null){
+ getBean(RoomDao.class).update(getModelObject(), getUserId());
+ }
+ updateView(target);
+ }
+ }));
+
// attach an ajax validation behavior to all form component's keydown
// event and throttle it down to once per second
OmAjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", Duration.ONE_SECOND);
}
- private void updateView(AjaxRequestTarget target) {
- target.add(this);
- target.add(roomList);
- target.appendJavaScript("omRoomPanelInit();");
+ public void updateModerators(AjaxRequestTarget target) {
+ long roomId = (getModelObject().getRooms_id() != null ? getModelObject().getRooms_id() : 0);
+ RoomModeratorsDao moderatorsDao = getBean(RoomModeratorsDao.class);
+ final List<RoomModerator> result = moderatorsDao.getRoomModeratorByRoomId(roomId);
+ moderators.setDefaultModelObject(result);
+ target.add(moderatorContainer);
}
@Override
@@ -191,4 +261,43 @@ public class RoomForm extends AdminBaseF
protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
// TODO Auto-generated method stub
}
+
+ @Override
+ public void updateView(AjaxRequestTarget target) {
+ target.add(this);
+ target.add(roomList);
+ confno.setEnabled(sipEnabled.getModelObject());
+ target.add(confno);
+ updateModerators(target);
+ target.appendJavaScript("omRoomPanelInit();");
+ }
+
+ @Override
+ public void submitView(AjaxRequestTarget target, List<User> usersToAdd) {
+ // TODO Auto-generated method stub
+ long roomId = getModelObject().getRooms_id();
+ RoomModeratorsDao moderatorsDao = getBean(RoomModeratorsDao.class);
+ List<RoomModerator> moderators = moderatorsDao.getRoomModeratorByRoomId(roomId);
+ result = (result == null) ? new ArrayList<RoomModerator>() : result;
+ for (User u : usersToAdd) {
+ boolean found = false;
+ for ( RoomModerator rm : moderators) {
+ if (rm.getUser().getUser_id().equals(u.getUser_id())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ RoomModerator rModerator = new RoomModerator();
+ rModerator.setUser(u);
+ rModerator.setIsSuperModerator(false);
+ rModerator.setStarttime(new Date());
+ rModerator.setDeleted(false);
+ rModerator.setRoomId(roomId);
+ result.add(rModerator);
+ moderatorsDao.addRoomModeratorByUserId(u, false, roomId);
+ }
+ }
+ target.appendJavaScript("$('#addModerators').dialog('close');");
+ }
}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html Thu Jun 27 08:45:36 2013
@@ -22,10 +22,22 @@
<wicket:head>
<script type="text/javascript">
function omRoomPanelInit() {
+ $('#addModerators').dialog({
+ closeOnEscape: true
+ , autoOpen: false
+ , resizable: false
+ , width: 400
+ , modal: true
+ });
var documentHeight = $(document).height();
$('#adminForm').height(documentHeight-114);
$('#adminTable').height(documentHeight-144);
}
+
+ function addModerators() {
+ $('#addModerators :text').val('');
+ $('#addModerators').dialog('open');
+ };
</script>
</wicket:head>
<wicket:panel>
@@ -117,10 +129,11 @@
</div>
<div class="formelement">
<div class="info-text"><wicket:ommessage key="1077" /></div>
- <br/>
+ <label><wicket:ommessage key="1531" /></label><input type="checkbox" class="formcheckbox" wicket:id="allowFontStyles" />
+ </div>
+ <div class="formelement">
<div class="info-text"><wicket:ommessage key="1101" /></div>
- <br/>
- <label><wicket:ommessage key="1076" /></label><input type="checkbox" class="formcheckbox" wicket:id="isClosed" />
+ <label><wicket:ommessage key="1099" /></label><input type="checkbox" class="formcheckbox" wicket:id="isClosed" />
</div>
<div class="formelement">
<label><wicket:ommessage key="1100" /></label><input type="text" wicket:id="redirectURL" />
@@ -128,10 +141,10 @@
<div class="formelement">
<div class="info-text"><wicket:ommessage key="1102" /></div>
<br/>
- <label><wicket:ommessage key="1076" /></label><input type="checkbox" class="formcheckbox" wicket:id="waitForRecording" />
+ <label><wicket:ommessage key="1355" /></label><input type="checkbox" class="formcheckbox" wicket:id="waitForRecording" />
</div>
<div class="formelement">
- <label><wicket:ommessage key="1076" /></label><input type="checkbox" class="formcheckbox" wicket:id="allowRecording" />
+ <label><wicket:ommessage key="1356" /></label><input type="checkbox" class="formcheckbox" wicket:id="allowRecording" />
</div>
</fieldset>
@@ -174,23 +187,91 @@
<div class="formelement">
<label><wicket:ommessage key="1526" /></label><input type="checkbox" class="formcheckbox" wicket:id="autoVideoSelect" />
</div>
+ </fieldset>
+
+ <!-- Users in this Room -->
+ <fieldset>
+ </fieldset>
+
+ <!-- Default moderators -->
+ <fieldset>
<div class="formelement">
- <!--
- FIXME: add user moderator list
- <wicket:ommessage key="587" /> <select wicket:id="moderators"/>
- <br/>
- -->
- <div class="info-text"><wicket:ommessage key="823" /></div>
+ <div class="info-text"><wicket:ommessage key="823" /></div>
<br/>
<label><wicket:ommessage key="640" /></label><input type="checkbox" class="formcheckbox" wicket:id="isModeratedRoom" />
+ <div wicket:id="addModerator" class="formNewButton disabled" wicket:ommessage="title:821"><input/></div>
</div>
<div class="formelement">
<wicket:ommessage key="816" />
</div>
+ <table class="adminListTableSmall">
+ <thead>
+ <tr>
+ <th class="three_column_layout_column1"><wicket:ommessage key="817" /></th>
+ <th class="three_column_layout_column2"><wicket:ommessage key="818" /></th>
+ <th class="three_column_layout_column3"><wicket:ommessage key="819" /></th>
+ <th class="three_column_layout_column4"><wicket:ommessage key="820" /></th>
+ <th class="three_column_layout_column5"><wicket:ommessage key="827" /></th>
+ </tr>
+ </thead>
+ </table>
+ <div class="tableWrapperSmall" id="adminTableSmall">
+ <table class="adminListTableSmall">
+ <tbody wicket:id="moderatorContainer">
+ <tr wicket:id="moderators">
+ <td class="three_column_layout_column1"><div class="three_column_layout_divcolumn1"><span wicket:id="isSuperModerator"></span></div></td>
+ <td class="three_column_layout_column2"><div class="three_column_layout_divcolumn2"><span wicket:id="userId"></span></div></td>
+ <td class="three_column_layout_column3"><div class="three_column_layout_divcolumn3"><span wicket:id="uName"></span></div></td>
+ <td class="three_column_layout_column4"><div class="three_column_layout_divcolumn4"><span wicket:id="email"></span></div></td>
+ <td style="width: 50px"><div style="width: 50px"><div class="formCancelButton" wicket:id="delete" wicket:ommessage="title:274"><input/></div></div></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </fieldset>
+ <!--SIP Settings -->
+ <fieldset>
+ <legend><wicket:ommessage key="1001" /></legend>
+ <div class="formelement">
+ <div class="info-text"><wicket:ommessage key="1002" /></div>
+ <br/>
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="1003" /></label><input type="text" wicket:id="confno" />
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="1004" /></label><input type="text" wicket:id="pin" />
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="1308" /></label><input type="text" wicket:id="ownerId" />
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="1538" /></label><input type="checkbox" class="formcheckbox" wicket:id="sipEnabled" />
+ </div>
</fieldset>
</div>
</form>
</div>
</div>
+ <div id="addModerators" wicket:ommessage="title:821" style="display: none;">
+ <form wicket:id="addModerators">
+ <table>
+ <tr>
+ <td><wicket:ommessage key="181" /></td>
+ <td><input type="text" wicket:id="searchText" /></td>
+ </tr>
+ <tr>
+ <td style="text-align: right"><input type="button" wicket:id="search" /></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="183" /></td>
+ <td><select wicket:id="users" style="width: 200px; height: 300px;"></select></td>
+ </tr>
+ <tr>
+ <td colspan="2" style="text-align: right"><input type="button" wicket:id="add" /></td>
+ </tr>
+ </table>
+ </form>
+ </div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java?rev=1497244&r1=1497243&r2=1497244&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java Thu Jun 27 08:45:36 2013
@@ -20,6 +20,7 @@ package org.apache.openmeetings.web.admi
import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.persistence.beans.room.Room;
+import org.apache.openmeetings.web.admin.AddUsersForm;
import org.apache.openmeetings.web.admin.AdminPanel;
import org.apache.openmeetings.web.admin.SearchableDataView;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
@@ -36,6 +37,7 @@ import org.apache.wicket.markup.repeater
public class RoomsPanel extends AdminPanel {
private static final long serialVersionUID = -1L;
+ private AddUsersForm addModeratorsForm;
private RoomForm form;
@Override
@@ -59,8 +61,9 @@ public class RoomsPanel extends AdminPan
private static final long serialVersionUID = -8069413566800571061L;
protected void onEvent(AjaxRequestTarget target) {
- form.setModelObject(room);
form.hideNewRecord();
+ form.setModelObject(room);
+ form.updateView(target);
target.add(form);
target.appendJavaScript("omRoomPanelInit();");
}
@@ -84,10 +87,42 @@ public class RoomsPanel extends AdminPan
target.add(listContainer);
}
});
+
+ final WebMarkupContainer addModerator = new WebMarkupContainer("addModerator");
+ addModerator.add(new AjaxEventBehavior("onclick") {
+ private static final long serialVersionUID = 1818116963707864134L;
+
+ protected void onEvent(AjaxRequestTarget target) {
+ addModeratorsForm.clear();
+ target.add(addModeratorsForm);
+ target.appendJavaScript("addModerators();");
+ }
+ });
- form = new RoomForm("form", listContainer, new Room());
- form.showNewRecord();
- add(form);
+ form = new RoomForm("form", listContainer, new Room()){
+ private static final long serialVersionUID = 3186201157375166657L;
+
+ @Override
+ protected void onModelChanged() {
+ super.onModelChanged();
+ boolean roomEmpty = (getModelObject() == null || getModelObject().getRooms_id() == null);
+ if (roomEmpty) {
+ addModerator.add(AttributeModifier.replace("class", "formNewButton disabled"));
+ } else {
+ addModerator.add(AttributeModifier.replace("class", "formNewButton"));
+ }
+ addModerator.setEnabled(!roomEmpty);
+ }
+
+ /*@Override
+ public void updateView(AjaxRequestTarget target) {
+ super.updateView(target);
+ target.add(addModerator);
+ }*/
+ };
+ add(form.add(addModerator.setOutputMarkupId(true)));
+ addModeratorsForm = new AddUsersForm("addModerators", form);
+ add(addModeratorsForm);
}
}