<%-- The contents of this file are subject to the license and copyright detailed in the LICENSE and NOTICE files at the root of the source tree and available online at http://www.dspace.org/license/ --%> <%-- - 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" %> <%@ page import="org.dspace.core.Utils" %> <%@ page import="java.util.List" %> <%@ page import="org.dspace.eperson.service.GroupService" %> <% int PAGESIZE = 50; List groups = (List) 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.size()) last = groups.size() - 1; // Index of first group on last page int jumpEnd = ((groups.size() - 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.size()) jumpOneForward = first; int jumpFiveForward = first + PAGESIZE * 5; if (jumpFiveForward > groups.size()) jumpFiveForward = jumpEnd; // What's the link? String sortByParam = "name"; 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.size() %>

--%>

<%= first + 1 %> <%= last + 1 %> <%= groups.size() %>

<% 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--%>

<%-- 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.get(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 == GroupService.NAME) { %><% } else { %><% } %>
<% } else { %><% } %>" onclick="javascript:<%= clearList %>addGroup('<%= g.getID() %>', '<%= Utils.addEntities(fullname) %>');<%= closeWindow %>"/> <%= g.getID() %> <%= g.getName()%>

<%-- Controls for jumping around list--%>
<%--

--%>

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