<%-- 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/ --%> <%-- - Show policies for an item, allowing you to modify, delete - or add to them - - Attributes: - item - Item being modified - item_policies - ResourcePolicy List of policies for the item - bundles - [] of Bundle objects - bundle_policies - Map of (ID, List of policies) - bitstream_policies - Map of (ID, List of policies) - - Returns: - submit value item_add_policy to add a policy - submit value item_edit_policy to edit policy for item, bundle, or bitstream - submit value item_delete_policy to delete policy for item, bundle, or bitstream - - submit value bundle_add_policy add policy - - submit value bitstream_add_policy to add a policy - - policy_id - ID of policy to edit, delete - item_id - bitstream_id - bundle_id --%> <%@ 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="java.util.Iterator" %> <%@ page import="java.util.List" %> <%@ page import="java.util.Map" %> <%@ page import="javax.servlet.jsp.jstl.fmt.LocaleSupport" %> <%@ page import="org.dspace.authorize.ResourcePolicy" %> <%@ page import="org.dspace.content.Item" %> <%@ page import="org.dspace.content.Bundle" %> <%@ page import="org.dspace.content.Bitstream" %> <%@ page import="org.dspace.core.Constants" %> <%@ page import="org.dspace.eperson.EPerson" %> <%@ page import="org.dspace.eperson.Group" %> <%@ page import="org.dspace.authorize.factory.AuthorizeServiceFactory" %> <%@ page import="org.dspace.authorize.service.ResourcePolicyService" %> <% // get item and list of policies Item item = (Item) request.getAttribute("item"); List item_policies = (List) request.getAttribute("item_policies"); // get bitstreams and corresponding policy lists List bundles = (List)request.getAttribute("bundles"); Map bundle_policies = (Map)request.getAttribute("bundle_policies" ); Map bitstream_policies = (Map)request.getAttribute("bitstream_policies"); // Is the logged in user an admin or community admin or collection admin Boolean admin = (Boolean)request.getAttribute("is.admin"); boolean isAdmin = (admin == null ? false : admin.booleanValue()); Boolean communityAdmin = (Boolean)request.getAttribute("is.communityAdmin"); boolean isCommunityAdmin = (communityAdmin == null ? false : communityAdmin.booleanValue()); Boolean collectionAdmin = (Boolean)request.getAttribute("is.collectionAdmin"); boolean isCollectionAdmin = (collectionAdmin == null ? false : collectionAdmin.booleanValue()); String naviAdmin = "admin"; String link = "/dspace-admin"; if(!isAdmin && (isCommunityAdmin || isCollectionAdmin)) { naviAdmin = "community-or-collection-admin"; link = "/tools"; } %>

<%= item.getHandle() %> <%= item.getID() %> ">

" />

<% ResourcePolicyService resourcePolicyService = AuthorizeServiceFactory.getInstance().getResourcePolicyService(); String row = "even"; for (ResourcePolicy rp : item_policies) { %> <% row = (row.equals("odd") ? "even" : "odd"); } %>
 
<%= rp.getID() %> <%= resourcePolicyService.getActionText(rp) %> <%= (rp.getEPerson() == null ? "..." : rp.getEPerson().getEmail() ) %> <%= (rp.getGroup() == null ? "..." : rp.getGroup().getName() ) %>
" /> " />
<% for( int b = 0; b < bundles.size(); b++ ) { Bundle myBun = bundles.get(b); List myPolicies = (List)bundle_policies.get(myBun.getID()); // display add policy // display bundle header w/ID %>
<%=myBun.getName()%> <%=myBun.getID()%>
" />

<% row = "even"; for (ResourcePolicy rp : myPolicies) { %> <% row = (row.equals("odd") ? "even" : "odd"); } %>
 
<%= rp.getID() %> <%= resourcePolicyService.getActionText(rp) %> <%= (rp.getEPerson() == null ? "..." : rp.getEPerson().getEmail() ) %> <%= (rp.getGroup() == null ? "..." : rp.getGroup().getName() ) %>
" /> " />
<% List bitstreams = myBun.getBitstreams(); for( int s = 0; s < bitstreams.size(); s++ ) { Bitstream myBits = bitstreams.get(s); myPolicies = (List)bitstream_policies.get(myBits.getID()); // display bitstream header w/ID, filename // 'add policy' // display bitstream's policies %>
<%=myBits.getID()%> <%=myBits.getName()%>
" />

<% row = "even"; for (ResourcePolicy rp : myPolicies) { %> <% row = (row.equals("odd") ? "even" : "odd"); } %>
 
<%= rp.getID() %> <%= resourcePolicyService.getActionText(rp) %> <%= (rp.getEPerson() == null ? "..." : rp.getEPerson().getEmail() ) %> <%= (rp.getGroup() == null ? "..." : rp.getGroup().getName() ) %>
" /> " />
<% } %>
<% } %>