Commit 7b63be2c authored by Bill Lynch's avatar Bill Lynch Committed by bill

Cleanup, new roster groups UI (not done yet)


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@865 b35dd754-fafc-0310-a699-88a17e54d16e
parent a0c1a165
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
- This software is published under the terms of the GNU Public License (GPL), - This software is published under the terms of the GNU Public License (GPL),
- a copy of which is included in this distribution. - a copy of which is included in this distribution.
--%> --%>
<%@ page
import ="org.jivesoftware.util.*, <%@ page import="org.jivesoftware.util.*,
java.util.HashMap, java.util.HashMap,
java.util.Map, java.util.Map,
java.util.*, java.util.*,
...@@ -26,23 +26,33 @@ import ="org.jivesoftware.util.*, ...@@ -26,23 +26,33 @@ import ="org.jivesoftware.util.*,
java.net.URLEncoder, java.net.URLEncoder,
org.jivesoftware.messenger.user.UserManager, org.jivesoftware.messenger.user.UserManager,
org.jivesoftware.messenger.user.UserNotFoundException" org.jivesoftware.messenger.user.UserNotFoundException"
errorPage="error.jsp"%> errorPage="error.jsp"
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager"/> <jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager"/>
<jsp:useBean id="errors" class="java.util.HashMap"/> <jsp:useBean id="errors" class="java.util.HashMap"/>
<%
webManager.init(request, response, session, application, out); <% webManager.init(request, response, session, application, out); %>
%>
<% // Get parameters // <% // Get parameters //
boolean create = request.getParameter("create") != null; boolean create = request.getParameter("create") != null;
boolean cancel = request.getParameter("cancel") != null; boolean cancel = request.getParameter("cancel") != null;
String name = ParamUtils.getParameter(request, "name"); String name = ParamUtils.getParameter(request, "name");
String description = ParamUtils.getParameter(request, "description"); String description = ParamUtils.getParameter(request, "description");
String showInRosterType = ParamUtils.getParameter(request, "show");
boolean showInRoster = "onlyGroup".equals(showInRosterType) || "everybody".equals(showInRosterType);
String displayName = ParamUtils.getParameter(request, "display");
String groupList = ParamUtils.getParameter(request, "groupList");
String users = ParamUtils.getParameter(request, "users", true); String users = ParamUtils.getParameter(request, "users", true);
boolean enableRosterGroups = ParamUtils.getBooleanParameter(request,"enableRosterGroups");
String groupDisplayName = ParamUtils.getParameter(request,"groupDisplayName");
String showGroup = ParamUtils.getParameter(request,"showGroup");
String[] groupNames = ParamUtils.getParameters(request, "groupNames");
// String showInRosterType = ParamUtils.getParameter(request, "show");
// boolean showInRoster = "onlyGroup".equals(showInRosterType) || "everybody".equals(showInRosterType);
// String displayName = ParamUtils.getParameter(request, "display");
// String groupList = ParamUtils.getParameter(request, "groupList");
// Handle a cancel // Handle a cancel
if (cancel) { if (cancel) {
response.sendRedirect("group-summary.jsp"); response.sendRedirect("group-summary.jsp");
...@@ -54,8 +64,13 @@ errorPage="error.jsp"%> ...@@ -54,8 +64,13 @@ errorPage="error.jsp"%>
if (name == null) { if (name == null) {
errors.put("name", ""); errors.put("name", "");
} }
if (showInRoster && (displayName == null || displayName.length() == 0)) { if (enableRosterGroups) {
errors.put("display", ""); if (groupDisplayName == null) {
errors.put("groupDisplayName", "");
}
if ("spefgroups".equals(showGroup) && groupNames == null) {
errors.put("groupNames","");
}
} }
// do a create if there were no errors // do a create if there were no errors
if (errors.size() == 0) { if (errors.size() == 0) {
...@@ -64,10 +79,10 @@ errorPage="error.jsp"%> ...@@ -64,10 +79,10 @@ errorPage="error.jsp"%>
if (description != null) { if (description != null) {
newGroup.setDescription(description); newGroup.setDescription(description);
} }
if (showInRoster) { if ("onlyGroup".equals(showGroup) || "everybody".equals(showGroup)) {
newGroup.getProperties().put("sharedRoster.showInRoster", showInRosterType); newGroup.getProperties().put("sharedRoster.showInRoster", showGroup);
newGroup.getProperties().put("sharedRoster.displayName", displayName); newGroup.getProperties().put("sharedRoster.displayName", groupDisplayName);
newGroup.getProperties().put("sharedRoster.groupList", groupList == null ? "" : groupList); newGroup.getProperties().put("sharedRoster.groupList", toList(groupNames));
} }
else { else {
newGroup.getProperties().put("sharedRoster.showInRoster", "nobody"); newGroup.getProperties().put("sharedRoster.showInRoster", "nobody");
...@@ -75,7 +90,7 @@ errorPage="error.jsp"%> ...@@ -75,7 +90,7 @@ errorPage="error.jsp"%>
newGroup.getProperties().put("sharedRoster.groupList", ""); newGroup.getProperties().put("sharedRoster.groupList", "");
} }
if(users.length() > 0){ if (users.length() > 0){
StringTokenizer tokenizer = new StringTokenizer(users, ","); StringTokenizer tokenizer = new StringTokenizer(users, ",");
while (tokenizer.hasMoreTokens()) { while (tokenizer.hasMoreTokens()) {
String username = tokenizer.nextToken(); String username = tokenizer.nextToken();
...@@ -102,7 +117,9 @@ errorPage="error.jsp"%> ...@@ -102,7 +117,9 @@ errorPage="error.jsp"%>
} }
} }
%> %>
<jsp:useBean id="pageinfo" scope="request" class="org.jivesoftware.admin.AdminPageBean"/>
<jsp:useBean id="pageinfo" scope="request" class="org.jivesoftware.admin.AdminPageBean"/>
<% // Title of this page and breadcrumbs <% // Title of this page and breadcrumbs
String title = "Create Group"; String title = "Create Group";
pageinfo.setTitle(title); pageinfo.setTitle(title);
...@@ -110,40 +127,15 @@ errorPage="error.jsp"%> ...@@ -110,40 +127,15 @@ errorPage="error.jsp"%>
pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(title, "group-create.jsp")); pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(title, "group-create.jsp"));
pageinfo.setPageID("group-create"); pageinfo.setPageID("group-create");
%> %>
<jsp:include page="top.jsp" flush="true"/>
<jsp:include page="title.jsp" flush="true"/>
<c:set var="submit" value="${param.create}"/>
<c:set var="errors" value="${errors}"/>
<script language="javascript">
<!--
function refreshDisplayName(showCheck)
{
if ("onlyGroup" == showCheck.value) {
document.forms.f.newDisplay.disabled=false;
document.forms.f.newGroupList.disabled=false;
}
else if ("everybody" == showCheck.value) {
document.forms.f.newDisplay.disabled=false;
document.forms.f.newGroupList.disabled=true;
}
else {
document.forms.f.newDisplay.disabled=true;
document.forms.f.newGroupList.disabled=true;
}
}
function setDisplayName()
{
if (document.forms.f.display.value == "") {
document.forms.f.display.value=document.forms.f.name.value;
}
}
//-->
</script>
<% <jsp:include page="top.jsp" flush="true"/>
if (errors.get("general") != null) { <jsp:include page="title.jsp" flush="true"/>
%>
<c:set var="submit" value="${param.create}"/>
<c:set var="errors" value="${errors}"/>
<% if (errors.get("general") != null) { %>
<div class="jive-success"> <div class="jive-success">
<table cellpadding="0" cellspacing="0" border="0"> <table cellpadding="0" cellspacing="0" border="0">
<tbody> <tbody>
...@@ -157,117 +149,250 @@ errorPage="error.jsp"%> ...@@ -157,117 +149,250 @@ errorPage="error.jsp"%>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div><br>
<br>
<% <% } %>
}
%> <p>Use the form below to create a new group.</p>
<p>
Use the form below to create a new group.</p> <form name="f" action="group-create.jsp" method="post">
<form name="f" action="group-create.jsp" method="post">
<fieldset> <fieldset>
<legend> <legend>Create New Group</legend>
Create New Group
</legend>
<div> <div>
<table cellpadding="3" cellspacing="0" border="0" width="100%"> <table cellpadding="3" cellspacing="0" border="0" width="100%">
<tr valign="top"> <tr valign="top">
<td width="1%" nowrap> <td width="1%" nowrap>
<label for="gname">Group Name:</label> <label for="gname">Group Name:</label> *
*
</td> </td>
<td width="99%"> <td width="99%">
<input type="text" name="name" size="30" maxlength="75" <input type="text" name="name" size="30" maxlength="75"
value="<%= ((name != null) ? name : "") %>" id="gname" onChange="setDisplayName()"> value="<%= ((name != null) ? name : "") %>" id="gname">
<%
if (errors.get("name") != null) {
%>
<span class="jive-error-text"> Invalid name. </span>
<%
}
else if (errors.get("groupAlreadyExists") != null) {
%>
<span class="jive-error-text"> Group already exists - please choose a different
name. </span>
<%
}
%>
</td> </td>
</tr> </tr>
<% if (errors.get("name") != null || errors.get("groupAlreadyExists") != null) { %>
<tr valign="top">
<td width="1%" nowrap>&nbsp;</td>
<td width="99%">
<% if (errors.get("name") != null) { %>
<span class="jive-error-text">Invalid group name.</span>
<% } else if (errors.get("groupAlreadyExists") != null) { %>
<span class="jive-error-text">Group already exists - please choose a different name.</span>
<% } %>
</td>
</tr>
<% } %>
<tr valign="top"> <tr valign="top">
<td width="1%" nowrap> <td width="1%" nowrap>
<label for="gdesc">Description:</label> <label for="gdesc">Description:</label>
</td> </td>
<td width="99%"> <td width="99%">
<textarea name="description" cols="30" rows="5" id="gdesc"><%= ((description != null) ? description : "") %></textarea> <textarea name="description" cols="30" rows="3" id="gdesc"
<% ><%= ((description != null) ? description : "") %></textarea>
if (errors.get("description") != null) {
%>
<span class="jive-error-text"> Invalid description. </span>
<%
}
%>
</td> </td>
</tr> </tr>
<% if (errors.get("description") != null) { %>
<tr valign="top">
<td width="1%" nowrap>
&nbsp;
</td>
<td width="99%">
<span class="jive-error-text">Invalid description.</span>
</td>
</tr>
<% } %>
<tr> <tr>
<td nowrap width="1%"> <td nowrap width="1%" valign="top">
Initial Member(s): Initial Member(s):
</td> </td>
<td nowrap class="c1" align="left"> <td nowrap class="c1" align="left">
<input type="text" size="40" name="users"/> <textarea name="users" cols="30" rows="3" id="gdesc"
&nbsp; ><%= ((users != null) ? users : "") %></textarea>
</td>
</tr>
</table>
<%-- <tr><td height="15" colspan="3"><img src="images/blank.gif"></td>--%>
<%-- <tr>--%>
<%-- <td width="1%" nowrap>--%>
<%-- <label for="gshow">Show group in rosters for:</label>--%>
<%-- </td>--%>
<%-- <td width="99%">--%>
<%-- <label for="onlyGroup">Only group users</label>--%>
<%-- <input type="radio" name="show" id="onlyGroup" value="onlyGroup" onclick="refreshDisplayName(this)"/>&nbsp;&nbsp;--%>
<%-- <label for="everybody">Everybody</label>--%>
<%-- <input type="radio" name="show" id="everybody" value="everybody" onclick="refreshDisplayName(this)"/>&nbsp;&nbsp;--%>
<%-- <label for="nobody">Nobody</label>--%>
<%-- <input type="radio" name="show" id="nobody" value="nobody" checked onclick="refreshDisplayName(this)"/>--%>
<%----%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- <tr>--%>
<%-- <td nowrap width="1%">--%>
<%-- <label for="gdisplay">Display name in roster:</label>--%>
<%-- </td>--%>
<%-- <td nowrap class="c1" align="left">--%>
<%-- <input type="text" size="40" name="display" id="gdisplay" disabled/>--%>
<%--<%--%>
<%-- if (errors.get("display") != null) {--%>
<%--%>--%>
<%-- <span class="jive-error-text"> Please enter a display name. </span>--%>
<%--<%--%>
<%-- }--%>
<%--%>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- <tr>--%>
<%-- <td nowrap width="1%">--%>
<%-- <label for="gGroupList">Viewable by groups:</label>--%>
<%-- </td>--%>
<%-- <td width="99%">--%>
<%-- <textarea name="groupList" cols="30" rows="2" id="gGroupList"><%= ((groupList != null) ? groupList : "") %></textarea>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- </table>--%>
<%----%>
<%-- <br>--%>
<br>
<p><b>Shared Roster Groups</b></p>
<table cellpadding="3" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td width="1%">
<input type="radio" name="enableRosterGroups" value="false" id="rb201" <%= !enableRosterGroups ? "checked" : "" %>>
</td>
<td width="99%">
<label for="rb201">Disable roster groups</label>
</td> </td>
</tr> </tr>
<tr><td height="15" colspan="3"><img src="images/blank.gif"></td> <tr>
<td width="1%">
<input type="radio" name="enableRosterGroups" value="true" id="rb202" <%= enableRosterGroups ? "checked" : "" %>>
</td>
<td width="99%">
<label for="rb202">Enable roster groups</label>
</td>
</tr>
<tr>
<td width="1%">
&nbsp;
</td>
<td width="99%">
<table cellpadding="3" cellspacing="0" border="0" width="100%">
<tbody>
<tr> <tr>
<td width="1%" nowrap> <td width="1%" nowrap>
<label for="gshow">Show group in rosters for:</label> Group Display Name *
</td> </td>
<td width="99%"> <td width="99%">
<label for="onlyGroup">Only group users</label> <input type="text" name="groupDisplayName" size="30" maxlength="100" value="<%= (groupDisplayName != null ? groupDisplayName : "") %>"
<input type="radio" name="show" id="onlyGroup" value="onlyGroup" onclick="refreshDisplayName(this)"/>&nbsp;&nbsp; onclick="this.form.enableRosterGroups[1].checked=true;">
<label for="everybody">Everybody</label> </td>
<input type="radio" name="show" id="everybody" value="everybody" onclick="refreshDisplayName(this)"/>&nbsp;&nbsp; </tr>
<label for="nobody">Nobody</label> </tbody>
<input type="radio" name="show" id="nobody" value="nobody" checked onclick="refreshDisplayName(this)"/> </table>
<table cellpadding="3" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td width="1%" nowrap>
<input type="radio" name="showGroup" value="onlyGroup" checked id="rb001"
onclick="this.form.enableRosterGroups[1].checked=true;">
</td>
<td width="99%">
<label for="rb001"
>Show group in group members' rosters</label>
</td> </td>
</tr> </tr>
<tr> <tr>
<td nowrap width="1%"> <td width="1%" nowrap>
<label for="gdisplay">Display name in roster:</label> <input type="radio" name="showGroup" value="everybody" id="rb002"
onclick="this.form.enableRosterGroups[1].checked=true;">
</td> </td>
<td nowrap class="c1" align="left"> <td width="99%">
<input type="text" size="40" name="display" id="gdisplay" disabled/> <label for="rb002"
<% >Show group in all users' rosters.</label>
if (errors.get("display") != null) { </td>
%> </tr>
<span class="jive-error-text"> Please enter a display name. </span> <tr>
<% <td width="1%" nowrap>
} <input type="radio" name="showGroup" value="spefgroups" id="rb003"
%> onclick="this.form.enableRosterGroups[1].checked=true;">
</td>
<td width="99%">
<label for="rb003"
>Show groups to members of these groups:</label>
</td> </td>
</tr> </tr>
<tr> <tr>
<td nowrap width="1%"> <td width="1%" nowrap>
<label for="gGroupList">Viewable by groups:</label> &nbsp;
</td> </td>
<td width="99%"> <td width="99%">
<textarea name="groupList" cols="30" rows="2" id="gGroupList"><%= ((groupList != null) ? groupList : "") %></textarea> <select name="groupNames" size="6" onclick="this.form.showGroup[2].checked=true;this.form.enableRosterGroups[1].checked=true;"
multiple style="width:300px;font-family:verdana,arial,helvetica,sans-serif;font-size:8pt;">
<%
Collection<Group> groups = webManager.getGroupManager().getGroups();
for (Group group : groups) {
%>
<option value="<%= java.net.URLEncoder.encode(group.getName(), "UTF-8") %>"
><%= group.getName() %></option>
<% } %>
</select>
</td>
</tr>
</tbody>
</table>
</td> </td>
</tr> </tr>
</tbody>
</table> </table>
<br> <br>
<span class="jive-description"> * Required fields </span> <span class="jive-description">* Required fields </span>
</div> </div>
</fieldset>
<br> </fieldset>
<br>
<input type="submit" name="create" value="Create Group"> <input type="submit" name="cancel" value="Cancel"> <br><br>
</form>
<script language="JavaScript" type="text/javascript"> <input type="submit" name="create" value="Create Group">
document.f.name.focus(); <input type="submit" name="cancel" value="Cancel">
function checkFields() {
</form>
<script language="JavaScript" type="text/javascript">
document.f.name.focus();
</script>
<jsp:include page="bottom.jsp" flush="true"/>
<%!
private static String toList(String[] array) {
if (array == null || array.length == 0) {
return "";
}
StringBuffer buf = new StringBuffer();
String sep = "";
for (int i=0; i<array.length; i++) {
buf.append(sep).append(array[i]);
sep = ",";
} }
</script> return buf.toString();
<jsp:include page="bottom.jsp" flush="true"/> }
%>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment