<%-- - group-select-list.jsp - - Version: $Revision$ - - Date: $Date$ - - Copyright (c) 2002, Hewlett-Packard Company and Massachusetts - Institute of Technology. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - - Neither the name of the Hewlett-Packard Company nor the name of the - Massachusetts Institute of Technology nor the names of their - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. --%> <%-- - Display list of Groups, with pagination - - Attributes: - - groups - Group[] - all groups to browse - sortby - Integer - field to sort by (constant from Group.java) - first - Integer - index of first group to display - multiple - if non-null, this is for selecting multiple groups --%> <%@ page contentType="text/html;charset=UTF-8" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://www.dspace.org/dspace-tags.tld" prefix="dspace" %> <%@ page import="org.dspace.eperson.Group" %> <% int PAGESIZE = 50; Group[] groups = (Group[]) request.getAttribute("groups"); int sortBy = ((Integer)request.getAttribute("sortby" )).intValue(); int first = ((Integer)request.getAttribute("first")).intValue(); boolean multiple = (request.getAttribute("multiple") != null); // Make sure we won't run over end of list int last = first + PAGESIZE; if (last >= groups.length) last = groups.length - 1; // Index of first group on last page int jumpEnd = ((groups.length - 1) / PAGESIZE) * PAGESIZE; // Now work out values for next/prev page buttons int jumpFiveBack = first - PAGESIZE * 5; if (jumpFiveBack < 0) jumpFiveBack = 0; int jumpOneBack = first - PAGESIZE; if (jumpOneBack < 0) jumpOneBack = 0; int jumpOneForward = first + PAGESIZE; if (jumpOneForward > groups.length) jumpOneForward = first; int jumpFiveForward = first + PAGESIZE * 5; if (jumpFiveForward > groups.length) jumpFiveForward = jumpEnd; // What's the link? String sortByParam = "name"; if (sortBy == Group.ID) sortByParam = "id"; String jumpLink = request.getContextPath() + "/tools/group-select-list?multiple=" + multiple + "&sortby=" + sortByParam + "&first="; String sortLink = request.getContextPath() + "/tools/group-select-list?multiple=" + multiple + "&first=" + first + "&sortby="; %> <%-- Select Groups --%> <fmt:message key="jsp.tools.group-select-list.title"/> <%--

Groups <%= first + 1 %>-<%= last + 1 %> of <%= groups.length %>

--%>

<%= first + 1 %> <%= last + 1 %> <%= groups.length %>

<% if (multiple) { %> <%--

Clicking on the 'Add' button next to a group will add that group to the list on the main form.

--%>

<% } %> <%-- Controls for jumping around list--%> <%-- --%>
First < 5 Pages < 1 Page 1 Page > 5 Pages > Last

<%-- Will never actually be posted, it's just so buttons will appear --%> <% String row = "even"; // If this is a dialogue to select a *single* group, we want // to clear any existing entry in the group list, and // to close this window when a 'select' button is clicked String clearList = (multiple ? "" : "clearGroups();" ); String closeWindow = (multiple ? "" : "window.close();"); for (int i = first; i <= last; i++) { Group g = groups[i]; // Make sure no quotes in full name will mess up our Javascript String fullname = g.getName().replace('\'', ' '); %> <% row = (row.equals("odd") ? "even" : "odd"); } %>
  <% if (sortBy == Group.ID) { %><% } else { %><% } %> <% if (sortBy == Group.NAME) { %><% } else { %><% } %>
<% } else { %><% } %>" onclick="javascript:<%= clearList %>addGroup(<%= g.getID() %>, '<%= fullname %>');<%= closeWindow %>"/> <%= g.getID() %> <%= g.getName()%>

<%-- Controls for jumping around list--%> <%-- --%>
First < 5 Pages < 1 Page 1 Page > 5 Pages > Last
<%--

--%>

" onclick="window.close();"/>