Files
DSpace/dspace/jsp/mydspace/main.jsp
Robert Tansley 81d5c903d0 My DSpace cleaned up. Not all pages have been tested - WorkflowManager not
functioning at time of commit.


git-svn-id: http://scm.dspace.org/svn/repo/trunk@240 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2002-07-24 17:15:47 +00:00

337 lines
12 KiB
Plaintext

<%--
- main.jsp
-
- Version: $Revision$
-
- Date: $Date$
-
- Copyright (c) 2001, 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.
--%>
<%--
- Main My DSpace page
-
-
- Attributes:
- mydspace.user: current user (EPerson)
- workspace.items: WorkspaceItem[] array for this user
- workflow.items: WorkflowItem[] array of submissions from this user in
- workflow system
- workflow.owned: WorkflowItem[] array of tasks owned
- workflow.pooled WorkflowItem[] array of pooled tasks
--%>
<%@ taglib uri="http://www.dspace.org/dspace-tags.tld" prefix="dspace" %>
<%@ page import="org.dspace.app.webui.servlet.MyDSpaceServlet" %>
<%@ page import="org.dspace.content.Collection" %>
<%@ page import="org.dspace.content.DCDate" %>
<%@ page import="org.dspace.content.DCValue" %>
<%@ page import="org.dspace.content.Item" %>
<%@ page import="org.dspace.eperson.EPerson" %>
<%@ page import="org.dspace.ingest.WorkspaceItem" %>
<%@ page import="org.dspace.workflow.WorkflowItem" %>
<%@ page import="org.dspace.workflow.WorkflowManager" %>
<%
EPerson user = (EPerson) request.getAttribute("mydspace.user");
WorkspaceItem[] workspaceItems =
(WorkspaceItem[]) request.getAttribute("workspace.items");
WorkflowItem[] workflowItems =
(WorkflowItem[]) request.getAttribute("workflow.items");
WorkflowItem[] owned =
(WorkflowItem[]) request.getAttribute("workflow.owned");
WorkflowItem[] pooled =
(WorkflowItem[]) request.getAttribute("workflow.pooled");
%>
<dspace:layout title="My DSpace">
<table width="100%" border=0>
<tr>
<td align=left>
<H1>
My DSpace: <%= user.getFullName() %>
</H1>
</td>
<td align=right class=standard>
<A TARGET="dspace.help" HREF="<%= request.getContextPath() %>/help/index.html#mydspace">(More Help...)</A>
</td>
<tr>
</table>
<%-- Task list: Only display if the user has any tasks --%>
<%
if (owned.length > 0)
{
%>
<H2>Owned Tasks</H2>
<P class="submitFormHelp">
Below are the current tasks that you have chosen to do.
</P>
<table class=miscTable align=center>
<tr>
<th class=oddRowOddCol>Task</th>
<th class=oddRowEvenCol>Item</th>
<th class=oddRowOddCol>Submitted To</th>
<th class=oddRowEvenCol>Submitted By</th>
<th class=oddRowOddCol>&nbsp;</th>
<th class=oddRowEvenCol>&nbsp;</th>
</tr>
<%
// even or odd row: Starts even since header row is odd (1). Toggled
// between "odd" and "even" so alternate rows are light and dark, for
// easier reading.
String row = "even";
for (int i = 0; i < owned.length; i++)
{
DCValue[] titleArray =
owned[i].getItem().getDC("title", null, Item.ANY);
String title = (titleArray.length > 0 ? titleArray[0].value
: "Untitled" );
EPerson submitter = owned[i].getItem().getSubmitter();
%>
<tr>
<form action="<%= request.getContextPath() %>/mydspace" method=post>
<input type="hidden" name="step" value="<%= MyDSpaceServlet.MAIN_PAGE %>">
<input type="hidden" name="workflow_id" value="<%= owned[i].getID() %>">
<td class="<%= row %>RowOddCol">
<%
switch (owned[i].getState())
{
case WorkflowManager.WFSTATE_ADMIN: %>Check Submission<% break;
case WorkflowManager.WFSTATE_REVIEW: %>Review Submission<% break;
case WorkflowManager.WFSTATE_EDIT: %>Final Edit of Submission<% break;
}
%>
</td>
<td class="<%= row %>RowEvenCol"><%= title %></td>
<td class="<%= row %>RowOddCol"><%= owned[i].getCollection().getMetadata("name") %></td>
<td class="<%= row %>RowEvenCol"><A HREF="mailto:<%= submitter.getEmail() %>"><%= submitter.getFullName() %></A></td>
<td class="<%= row %>RowOddCol">
<input type="submit" name="submit_perform" value="Perform This Task">
</td>
<td class="<%= row %>RowEvemCol">
<input type="submit" name="submit_return" value="Return to Pool">
</td>
</form>
</tr>
<%
row = (row.equals("even") ? "odd" : "even" );
}
%>
</table>
<%
}
// Pooled tasks - only show if there are any
if (pooled.length > 0)
{
%>
<H2>Tasks in the Pool</H2>
<P class="submitFormHelp">
Below are tasks in the task pool that have been assigned to you.
</P>
<table class=miscTable align=center>
<tr>
<th class=oddRowOddCol>Task</th>
<th class=oddRowEvenCol>Item</th>
<th class=oddRowOddCol>Submitted To</th>
<th class=oddRowEvenCol>Submitted By</th>
<th class=oddRowOddCol>&nbsp;</th>
</tr>
<%
// even or odd row: Starts even since header row is odd (1). Toggled
// between "odd" and "even" so alternate rows are light and dark, for
// easier reading.
String row = "even";
for (int i = 0; i < pooled.length; i++)
{
DCValue[] titleArray =
pooled[i].getItem().getDC("title", null, Item.ANY);
String title = (titleArray.length > 0 ? titleArray[0].value
: "Untitled");
EPerson submitter = pooled[i].getItem().getSubmitter();
%>
<tr>
<form action="<%= request.getContextPath() %>/mydspace" method=post>
<input type="hidden" name="step" value="<%= MyDSpaceServlet.MAIN_PAGE %>">
<input type="hidden" name="workflow_id" value="<%= pooled[i].getID() %>">
<td class="<%= row %>RowOddCol">
<%
switch (pooled[i].getState())
{
case WorkflowManager.WFSTATE_ADMIN: %>Check Submission<% break;
case WorkflowManager.WFSTATE_REVIEW: %>Review Submission<% break;
case WorkflowManager.WFSTATE_EDIT: %>Final Edit of Submission<% break;
}
%>
</td>
<td class="<%= row %>RowEvenCol"><%= title %></td>
<td class="<%= row %>RowOddCol"><%= pooled[i].getCollection().getMetadata("name") %></td>
<td class="<%= row %>RowEvenCol"><A HREF="mailto:<%= submitter.getEmail() %>"><%= submitter.getFullName() %></A></td>
<td class="<%= row %>RowOddCol">
<input type="submit" name="submit_claim" value="Take Task">
</td>
</form>
</tr>
<%
row = (row.equals("even") ? "odd" : "even");
}
%>
</table>
<%
}
%>
<form action="<%= request.getContextPath() %>/mydspace" method=post>
<input type="hidden" name="step" value="<%= MyDSpaceServlet.MAIN_PAGE %>">
<center>
<table border=0 width="70%">
<tr>
<td align=left>
<input type=submit name="submit_new" value="Start a New Submission">
</td>
<td align=right>
<input type=submit name="submit_own" value="View Accepted Submissions">
</td>
</tr>
</table>
</center>
</form>
<%
// Display workspace items, if any
if (workspaceItems.length > 0)
{
// even or odd row: Starts even since header row is odd (1)
String row = "even";
%>
<H2>Unfinished Submissions</H2>
<table class=miscTable align=center>
<tr>
<th class=oddRowOddCol>Title</th>
<th class=oddRowEvenCol>Submitted to</th>
<th class=oddRowOddCol>&nbsp;</th>
<th class=oddRowEvenCol>&nbsp;</th>
</tr>
<%
for (int i = 0; i < workspaceItems.length; i++)
{
DCValue[] titleArray =
workspaceItems[i].getItem().getDC("title", null, Item.ANY);
String title = (titleArray.length > 0 ? titleArray[0].value
: "Untitled");
%>
<form action="<%= request.getContextPath() %>/mydspace" method=post>
<input type="hidden" name="step" value="<%= MyDSpaceServlet.MAIN_PAGE %>">
<input type="hidden" name="workspace_id" value="<%= workspaceItems[i].getID() %>">
<tr>
<td class="<%= row %>RowOddCol"><%= title %></td>
<td class="<%= row %>RowEvenCol">
<%= workspaceItems[i].getCollection().getMetadata("name") %>
</td>
<td class="<%= row %>RowOddCol">
<input type="submit" name="submit_resume" value="Resume">
</td>
<td class="<%= row %>RowEvenCol">
<input type="submit" name="submit_delete" value="Remove">
</td>
</tr>
</form>
<%
row = (row.equals("even") ? "odd" : "even" );
}
%>
</table>
<%
}
// Display workflow items, if any
if (workflowItems.length > 0)
{
// even or odd row: Starts even since header row is odd (1)
String row = "even";
%>
<H2>Submissions In Workflow Process</H2>
<table class=miscTable align=center>
<tr>
<th class=oddRowOddCol>Title</th>
<th class=oddRowEvenCol>Submitted to</th>
<th class=oddRowOddCol>Date Submitted</th>
</tr>
<%
for (int i = 0; i < workflowItems.length; i++)
{
DCValue[] titleArray =
workflowItems[i].getItem().getDC("title", null, Item.ANY);
String title = (titleArray.length > 0 ? titleArray[0].value
: "Untitled" );
DCValue[] dateArray =
workflowItems[i].getItem().getDC("date", "accessioned", Item.ANY);
DCDate date = (dateArray.length > 0 ? new DCDate(dateArray[0].value)
: new DCDate());
%>
<form action="<%= request.getContextPath() %>/mydspace" method=post>
<tr>
<input type="hidden" name="step" value="<%= MyDSpaceServlet.MAIN_PAGE %>">
<input type="hidden" name="workflow_id" value="<%= workflowItems[i].getID() %>">
<td class="<%= row %>RowOddCol"><%= title %></td>
<td class="<%= row %>RowEvenCol">
<%= workflowItems[i].getCollection().getMetadata("name") %>
</td>
<td class="<%= row %>RowOddCol"><dspace:date date="<%= date %>" /></td>
</tr>
</form>
<%
row = (row.equals("even") ? "odd" : "even" );
}
%>
</table>
<%
}
%>
</dspace:layout>