diff --git a/dspace/jsp/submit/edit-metadata.jsp b/dspace/jsp/submit/edit-metadata.jsp new file mode 100644 index 0000000000..9dd0f74871 --- /dev/null +++ b/dspace/jsp/submit/edit-metadata.jsp @@ -0,0 +1,868 @@ +<%-- + - edit-metadata.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. + --%> + +<%-- + - Edit metadata form + - + - Attributes to pass in to this page: + - submission.info - the SubmissionInfo object + - submission.inputs - the DCInputSet + - submission.page - the step in submission + --%> + +<%@ page contentType="text/html;charset=UTF-8" %> + +<%@ page import="java.util.HashMap" %> +<%@ page import="java.util.Iterator" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.Map" %> +<%@ page import="java.net.URLEncoder" %> +<%@ page import="javax.servlet.ServletException" %> + +<%@ page import="org.dspace.app.webui.jsptag.PopupTag" %> +<%@ page import="org.dspace.app.webui.util.DCInput" %> +<%@ page import="org.dspace.app.webui.util.DCInputSet" %> +<%@ page import="org.dspace.app.webui.servlet.SubmitServlet" %> +<%@ page import="org.dspace.app.webui.util.JSPManager" %> +<%@ page import="org.dspace.app.webui.util.SubmissionInfo" %> +<%@ page import="org.dspace.app.webui.util.UIUtil" %> +<%@ page import="org.dspace.content.DCDate" %> +<%@ page import="org.dspace.content.DCLanguage" %> +<%@ page import="org.dspace.content.DCPersonName" %> +<%@ page import="org.dspace.content.DCSeriesNumber" %> +<%@ page import="org.dspace.content.DCValue" %> +<%@ page import="org.dspace.content.Item" %> + +<%@ taglib uri="http://www.dspace.org/dspace-tags.tld" prefix="dspace" %> + +<%! + + void doPersonalName(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer headers = new StringBuffer(); + StringBuffer sb = new StringBuffer(); + org.dspace.content.DCPersonName dpn; + StringBuffer name = new StringBuffer(); + StringBuffer first = new StringBuffer(); + StringBuffer last = new StringBuffer(); + + if (fieldCount == 0) + fieldCount = 1; + + //Width hints used here to affect whole table + headers.append(" ") + .append("") + .append("Last name
e.g. Smith") + .append("") + .append("First name(s) + \"Jr\"
e.g. Donald Jr") + .append(" ") + .append(""); + out.write(headers.toString()); + + + for (int i = 0; i < fieldCount; i++) + { + first.setLength(0); + first.append(fieldName).append("_first"); + if (repeatable) + first.append('_').append(i); + + last.setLength(0); + last.append(fieldName).append("_last"); + if (repeatable) + last.append('_').append(i); + + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + dpn = new org.dspace.content.DCPersonName(defaults[i].value); + else + dpn = new org.dspace.content.DCPersonName(); + + sb.append("\n\n"); + + if (repeatable && i < defaults.length) + { + name.setLength(0); + name.append(dpn.getLastName()) + .append(' ') + .append(dpn.getFirstNames()); + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && i == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doDate(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + org.dspace.content.DCDate dateIssued; + + if (fieldCount == 0) + fieldCount = 1; + + for (int i = 0; i < fieldCount; i++) + { + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + dateIssued = new org.dspace.content.DCDate(defaults[i].value); + else + dateIssued = new org.dspace.content.DCDate(""); + + sb.append("") + .append("Month:") + .append("Day: 0 ? + String.valueOf(dateIssued.getDay()) : "" )) + .append("\">Year: 0 ? + String.valueOf(dateIssued.getYear()) : "" )) + .append("\">\n"); + + if (repeatable && i < defaults.length) + { + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && i == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doSeriesNumber(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + org.dspace.content.DCSeriesNumber sn; + + if (fieldCount == 0) + fieldCount = 1; + + for (int i = 0; i < fieldCount; i++) + { + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + sn = new org.dspace.content.DCSeriesNumber(defaults[i].value); + else + sn = new org.dspace.content.DCSeriesNumber(); + + sb.append("\n\n"); + + if (repeatable && i < defaults.length) + { + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && i == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doTextArea(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + String val; + + if (fieldCount == 0) + fieldCount = 1; + + for (int i = 0; i < fieldCount; i++) + { + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + val = defaults[i].value; + else + val = ""; + + sb.append("\n"); + + if (repeatable && i < defaults.length) + { + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && i == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doOneBox(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + String val; + + if (fieldCount == 0) + fieldCount = 1; + + for (int i = 0; i < fieldCount; i++) + { + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + val = defaults[i].value; + else + val = ""; + + sb.append("\n"); + + if (repeatable && i < defaults.length) + { + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && i == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doTwoBox(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + int fieldCountIncr, String label) + throws java.io.IOException + { + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + StringBuffer headers = new StringBuffer(); + + if (element.equals("relation") && qualifier.equals("ispartofseries")) + { + //Width hints used here to affect whole table + headers.append(" ") + .append("") + .append("Series Name") + .append("") + .append("Report or Paper No.") + .append(" ") + .append(""); + out.write(headers.toString()); + } + + if (fieldCount == 0) + fieldCount = 1; + + for (int i = 0; i < fieldCount; i++) + { + if (i == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + if (i < defaults.length) + sb.append(" \n"); + else + { + sb.append("\n"); + } + i++; + if (i < defaults.length) + sb.append(" \n"); + else + { + sb.append(""); + + if (i+1 >= fieldCount) + { + sb.append("\n"); + } + else + { + sb.append(""); + } + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doQualdropValue(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, boolean repeatable, + int fieldCountIncr, List qualMap, String label) + throws java.io.IOException + { + + DCValue[] defaults = item.getDC(element, Item.ANY, Item.ANY); + int fieldCount = defaults.length + fieldCountIncr; + StringBuffer sb = new StringBuffer(); + String q, v, currentQual, currentVal; + + if (fieldCount == 0) + fieldCount = 1; + + for (int j = 0; j < fieldCount; j++) + { + + if (j < defaults.length) + { + currentQual = defaults[j].qualifier; + currentVal = defaults[j].value; + } + else + { + currentQual = ""; + currentVal = ""; + } + + if (j == 0) + sb.append("") + .append(label) + .append(""); + else + sb.append(" "); + + // do the dropdown box + sb.append(" \n"); + + if (repeatable && j < defaults.length) + { + // put a remove button next to filled in values + sb.append(" "); + } + else if (repeatable && j == fieldCount - 1) + { + // put a 'more' button next to the last space + sb.append(" "); + } + else + { + // put a blank if nothing else + sb.append(" "); + } + } + + out.write(sb.toString()); + } + + void doDropDown(javax.servlet.jsp.JspWriter out, Item item, + String fieldName, String element, String qualifier, boolean repeatable, + List valueList, String label) + throws java.io.IOException + { + DCValue[] defaults = item.getDC(element, qualifier, Item.ANY); + StringBuffer sb = new StringBuffer(); + Iterator vals; + String display, value; + int j; + + sb.append("") + .append(label) + .append(""); + + sb.append("") + .append(""); + out.write(sb.toString()); + } +%> + +<% + SubmissionInfo si = + (SubmissionInfo) request.getAttribute("submission.info"); + + Item item = si.submission.getItem(); + + final int halfWidth = 23; + final int fullWidth = 50; + final int twothirdsWidth = 34; + + DCInputSet inputSet = + (DCInputSet) request.getAttribute("submission.inputs"); + + Integer pageNumStr = + (Integer) request.getAttribute("submission.page"); + int pageNum = pageNumStr.intValue(); +%> + + + +
+ + + + + + + +

Submit: Describe Your Item

+ +<% + if (pageNum == SubmitServlet.EDIT_METADATA_1) + { +%> +

Please fill in the requested information about your submission below. In + most browsers, you can use the tab key to move the cursor to the next input + box or button, to save you having to use the mouse each time. + (More Help...)

+<% + } + else + { +%> +

Please fill further information about your submission below. + (More Help...)

+ +<% + } +%> + + <%-- HACK: a
tag seems to be the only way to convince certain --%> + <%-- browsers to center the table. --%> +
+ +<% + int pageIdx = pageNum - SubmitServlet.EDIT_METADATA_1; + DCInput[] inputs = inputSet.getPageRows(pageIdx, si.submission.hasMultipleTitles(), + si.submission.isPublishedBefore() ); + for (int z = 0; z < inputs.length; z++) + { + String dcElement = inputs[z].getElement(); + String dcQualifier = inputs[z].getQualifier(); + String fieldName; + int fieldCountIncr; + boolean repeatable; + + if (dcQualifier != null && !dcQualifier.equals("*")) + fieldName = dcElement + '_' + dcQualifier; + else + fieldName = dcElement; + + //if (inputs[z].isRequired()) { + // si.jumpToField = fieldName; + //} + + + StringBuffer sb; + if ((si.missingFields != null) && (si.missingFields.contains(new Integer(z)))) + { + String req = inputs[z].getWarning(); + int anchor = req.indexOf(""); + sb = new StringBuffer(req); + sb.insert(anchor, ""); + } + else + { + sb = new StringBuffer(inputs[z].getHints()); + } + out.write(sb.toString()); + + repeatable = inputs[z].getRepeatable(); + fieldCountIncr = 0; + if (repeatable) + { + fieldCountIncr = 1; + if (si.moreBoxesFor != null && si.moreBoxesFor.equals(fieldName)) + { + fieldCountIncr = 2; + } + } + + String inputType = inputs[z].getInputType(); + String label = inputs[z].getLabel(); + if (inputType.equals("name")) + { + doPersonalName(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + } + else if (inputType.equals("date")) + { + doDate(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + } + else if (inputType.equals("series")) + { + doSeriesNumber(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + + } + else if (inputType.equals("qualdrop_value")) + { + doQualdropValue(out, item, fieldName, dcElement, repeatable, + fieldCountIncr, inputs[z].getPairs(), label); + } + else if (inputType.equals("textarea")) + { + doTextArea(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + + } + else if (inputType.equals("dropdown")) + { + doDropDown(out, item, fieldName, dcElement, dcQualifier, + repeatable, inputs[z].getPairs(), label); + } + else if (inputType.equals("twobox")) + { + doTwoBox(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + } + else + { + doOneBox(out, item, fieldName, dcElement, dcQualifier, + repeatable, fieldCountIncr, label); + } +%> + +<%-- HACK: Using this line to give the browser hints as to the widths of cells --%> + + + + + + +<% + } // end of 'for rows' +%> +
   
+
+ +<%-- HACK: Need a space - is there a nicer way to do this than
or a --%> +<%-- blank

? --%> +

 

+ +<%-- Hidden fields needed for submit servlet to know which item to deal with --%> + <%= SubmitServlet.getSubmissionParameters(si) %> + +
+ + + + + + + + +
  + + + +     + +
+
+ + + diff --git a/dspace/jsp/submit/progressbar.jsp b/dspace/jsp/submit/progressbar.jsp index ab64dd231d..449ce88c00 100644 --- a/dspace/jsp/submit/progressbar.jsp +++ b/dspace/jsp/submit/progressbar.jsp @@ -52,6 +52,8 @@ - It can also be "-1" - in this case, the progress bar - is in "Workflow Item" mode - i.e. the "license" and - "complete" stages aren't shown + - md_pages: The number of pages used for metadata input/edit. + - Configurable on a per-collection basis --%> <%@ page contentType="text/html;charset=UTF-8" %> @@ -67,8 +69,7 @@ { "select", "describe", - "describe", - "describe", + "describe", // all metadata edit steps mapped to this string "upload", "verify", "license", @@ -81,8 +82,7 @@ { "Select", "Describe", - "Describe", - "Describe", + "Describe", // all metadata edit steps mapped to this string "Upload", "Verify", "License", @@ -92,7 +92,8 @@ int step = Integer.parseInt(request.getParameter("current_stage")); int stageReached = Integer.parseInt(request.getParameter("stage_reached")); - + int mdPages = Integer.parseInt(request.getParameter("md_pages")); + // Are we in workflow mode? boolean workflowMode = false; if (stageReached == -1) @@ -101,34 +102,65 @@ stageReached = SubmitServlet.REVIEW_SUBMISSION; } %> + +<%! + int gap = SubmitServlet.EDIT_METADATA_2 - SubmitServlet.EDIT_METADATA_1; + + String step2Name(int step, String[] names) + { + if (step < SubmitServlet.EDIT_METADATA_1) + { + return names[step]; + } + if (step > SubmitServlet.EDIT_METADATA_2) + { + return names[step-gap]; + } + // map all metadata steps to one + return names[SubmitServlet.EDIT_METADATA_1]; + } +%>
-<% +<% + int lastMDStep = SubmitServlet.EDIT_METADATA_1 + mdPages - 1; + int idx = SubmitServlet.INITIAL_QUESTIONS; // don't show prior selection step // Show previous (done by definition!) steps - for (int i = 1; i < step; i++) + while( idx < step ) { // Hack for skipping CC step if not enabled - if (!CreativeCommons.isEnabled() && i==SubmitServlet.CC_LICENSE) + if (!CreativeCommons.isEnabled() && idx==SubmitServlet.CC_LICENSE) { - continue; + idx++; + continue; } + // If the step has been done, and we're not on the final step, // the user can jump back if (step != SubmitServlet.SUBMISSION_COMPLETE) { %> <%-- HACK: border=0 for non-CSS compliant Netscape 4.x --%> - + <% } else { // User has reached final step, cannot jump back %> - + <% } + // skip unused metadata edit steps + if (idx == lastMDStep) + { + idx = SubmitServlet.EDIT_METADATA_2 + 1; + } + else + { + idx++; + } } // Show current step, but only if it's not the select collection step, @@ -136,37 +168,54 @@ if (step > 0) { %> - + <% } // We only go up to the "verify" step if we're on a workflow item int lastStep = (workflowMode ? SubmitServlet.REVIEW_SUBMISSION+1 - : stepNames.length); + : SubmitServlet.SUBMISSION_COMPLETE+1); + + // skip unused metadata edit steps + if ( step == lastMDStep ) + { + step = SubmitServlet.EDIT_METADATA_2; + } // Show next steps (some of which may have been done) - for (int i = step + 1; i < lastStep; i++) + idx = step + 1; + while( idx < lastStep) { // Hack for skipping CC step if not enabled - if (!CreativeCommons.isEnabled() && i==SubmitServlet.CC_LICENSE) + if (!CreativeCommons.isEnabled() && idx==SubmitServlet.CC_LICENSE) { - continue; + idx++; + continue; } - if (i <= stageReached) + if (idx <= stageReached) { // Stage has been previously accessed, so user may jump to it %> <%-- HACK: border=0 for non-CSS compliant Netscape 4.x --%> - + <% } else { // Stage hasn't been reached yet (can't be jumped to) %> - + <% } + // skip unused metadata edit steps + if (idx == lastMDStep) + { + idx = SubmitServlet.EDIT_METADATA_2 + 1; + } + else + { + idx++; + } } %> diff --git a/dspace/jsp/submit/review.jsp b/dspace/jsp/submit/review.jsp index 15f63cb6d7..b64741335c 100644 --- a/dspace/jsp/submit/review.jsp +++ b/dspace/jsp/submit/review.jsp @@ -43,15 +43,19 @@ - - Attributes to pass in to this page: - submission.info - the SubmissionInfo object + - submission.inputs - the DCInputSet object --%> <%@ page contentType="text/html;charset=UTF-8" %> -<%@ page import="java.util.HashMap" %> -<%@ page import="java.util.Map" %> +<%@ page import="java.io.IOException" %> <%@ page import="org.dspace.app.webui.servlet.SubmitServlet" %> <%@ page import="org.dspace.app.webui.util.SubmissionInfo" %> +<%@ page import="org.dspace.content.InProgressSubmission" %> +<%@ page import="org.dspace.app.webui.util.UIUtil" %> +<%@ page import="org.dspace.app.webui.util.DCInputSet" %> +<%@ page import="org.dspace.app.webui.util.DCInput" %> <%@ page import="org.dspace.content.Bitstream" %> <%@ page import="org.dspace.content.BitstreamFormat" %> <%@ page import="org.dspace.content.DCDate" %> @@ -67,15 +71,90 @@ (SubmissionInfo) request.getAttribute("submission.info"); Item item = si.submission.getItem(); + + DCInputSet inputSet = + (DCInputSet) request.getAttribute("submission.inputs"); +%> - // Names of each identifier type - Map identifierQualNames = new HashMap(); - identifierQualNames.put( "govdoc", "Gov't Doc #" ); - identifierQualNames.put( "uri", "URI" ); - identifierQualNames.put( "isbn", "ISBN" ); - identifierQualNames.put( "issn", "ISSN" ); - identifierQualNames.put( "ismn", "ISMN" ); - identifierQualNames.put( "other", "Other" ); +<%! + + void layoutSection(HttpServletRequest request, + javax.servlet.jsp.JspWriter out, + DCInputSet inputSet, + SubmissionInfo si, + Item item, int pageNum) + throws ServletException, IOException + { + InProgressSubmission ip = si.submission; + DCInput[] inputs = inputSet.getPageRows(pageNum, + ip.hasMultipleTitles(), + ip.isPublishedBefore()); + for (int z = 0; z < inputs.length; z++) + { + String inputType = inputs[z].getInputType(); + String pairsName = inputs[z].getPairsType(); + String value; + DCValue[] values; + StringBuffer row = new StringBuffer(); + + row.append(""); + row.append(""); + row.append("").append(""); + } + else + { + for (int i = 0; i < values.length; i++) + { + if (inputType.equals("date")) + { + DCDate date = new DCDate(values[i].value); + row.append(UIUtil.displayDate(date, false, true)); + } + else if (inputType.equals("dropdown")) + { + String storedVal = values[i].value; + String displayVal = inputs[z].getDisplayString(pairsName, + storedVal); + row.append(Utils.addEntities(displayVal)); + } + else if (inputType.equals("qualdrop_value")) + { + String qual = values[i].qualifier; + String displayQual = inputs[z].getDisplayString(pairsName, + qual); + String displayValue = Utils.addEntities(values[i].value); + if (displayQual != null) + { + row.append(displayQual + ":" + displayValue); + } + } + else + { + row.append(Utils.addEntities(values[i].value)); + } + row.append("
"); + } + } + row.append(""); + row.append(""); + + out.write(row.toString()); + } + } %> @@ -84,6 +163,7 @@ +

Submit: Verify Submission

@@ -134,278 +214,44 @@ <%-- ====================================================== --%> -<%-- DESCRIBE ITEM PAGE 1 ELEMENTS --%> +<%-- DESCRIBE ITEM ELEMENTS --%> <%-- ====================================================== --%> +<% + for ( int i = 0; i < inputSet.getNumberPages(); i++ ) + { +%>
+<% + } +%> <%-- ====================================================== --%> <%-- DESCRIBE ITEM PAGE 2 ELEMENTS --%> -<%-- ====================================================== --%> +<%-- ====================================================== +--%> <%-- ====================================================== --%> <%-- UPLOADED_FILES --%> <%-- ====================================================== --%> diff --git a/dspace/jsp/submit/select-collection.jsp b/dspace/jsp/submit/select-collection.jsp index 17456aa390..3aa6a8187f 100644 --- a/dspace/jsp/submit/select-collection.jsp +++ b/dspace/jsp/submit/select-collection.jsp @@ -62,6 +62,7 @@ +

Submit: Choose Collection

diff --git a/dspace/jsp/submit/show-license.jsp b/dspace/jsp/submit/show-license.jsp index 4d9e529de6..0d9553459f 100644 --- a/dspace/jsp/submit/show-license.jsp +++ b/dspace/jsp/submit/show-license.jsp @@ -67,6 +67,7 @@ +

Submit: Grant DSpace Distribution License

diff --git a/dspace/jsp/submit/show-uploaded-file.jsp b/dspace/jsp/submit/show-uploaded-file.jsp index d11a77acf1..4f83955243 100644 --- a/dspace/jsp/submit/show-uploaded-file.jsp +++ b/dspace/jsp/submit/show-uploaded-file.jsp @@ -80,6 +80,7 @@ + <% diff --git a/dspace/jsp/submit/upload-error.jsp b/dspace/jsp/submit/upload-error.jsp index 9b8b090035..4e616c421e 100644 --- a/dspace/jsp/submit/upload-error.jsp +++ b/dspace/jsp/submit/upload-error.jsp @@ -67,6 +67,7 @@ +

Submit: Error Uploading File

diff --git a/dspace/jsp/submit/upload-file-list.jsp b/dspace/jsp/submit/upload-file-list.jsp index 926d8c8d30..be0da6af4b 100644 --- a/dspace/jsp/submit/upload-file-list.jsp +++ b/dspace/jsp/submit/upload-file-list.jsp @@ -77,6 +77,7 @@ +

Submit: <%= (justUploaded ? "File Uploaded Successfully" : "Uploaded Files") %>

 <%= stepNames[i] %> (Done) -  <%= step2Name(idx,stepNames) %> (Done) -  <%= stepNames[step] %> (Current) -  <%= step2Name(step,stepNames) %> (Current) -  <%= stepNames[i] %> (Not Done) -  <%= step2Name(idx,stepNames) %> (Not Done) -
"); + row.append(inputs[z].getLabel()); + row.append(""); + + if (inputType.equals("qualdrop_value")) + { + values = item.getDC(inputs[z].getElement(), Item.ANY, Item.ANY); + } + else + { + values = item.getDC(inputs[z].getElement(), inputs[z].getQualifier(), Item.ANY); + } + if (values.length == 0) + { + row.append("None").append("
- - - - -<% - DCValue[] titles = item.getDC("title", null, Item.ANY); - String title = "None"; - if (titles.length > 0) - { - title = titles[0].value; - } -%> - - - - -<% - if (si.submission.hasMultipleTitles()) - { - DCValue[] altTitles = item.getDC("title", "alternative", Item.ANY); -%> - - - - -<% - } - if (si.submission.isPublishedBefore()) - { - DCValue[] dateIssued = item.getDC("date", "issued", Item.ANY); +<% + layoutSection(request, out, inputSet, si, item, i); %> - - - - - -<% - DCValue[] publisher = item.getDC("publisher", null, Item.ANY); -%> - - - - -<% - DCValue[] citation = item.getDC("identifier", "citation", Item.ANY); -%> - - - - -<% - } -%> - - - - - - - - -<% - DCValue[] typeDC = item.getDC("type", null, Item.ANY); - String type = "None"; - if (typeDC.length > 0) - { - type = typeDC[0].value; - } -%> - - - - -<% - DCValue[] langArray = item.getDC("language", "iso", null); - DCLanguage language = new DCLanguage(""); - if (langArray.length > 0) - { - language = new DCLanguage(langArray[0].value); - } -%> - - - -
Authors: -<% - DCValue[] authors = item.getDC("contributor", "author", Item.ANY); - if (authors.length == 0) - { -%> - None -<% - } - else - { - for (int i = 0; i < authors.length; i++) - { -%> - <%= Utils.addEntities(authors[i].value) %>
-<% - } - } -%> -
Title: - <%= Utils.addEntities(title) %> -
Alternative Titles: -<% - if (altTitles.length == 0) - { -%> - None -<% - } - else - { - for(int i = 0; i < altTitles.length ; i++) - { -%> - <%= Utils.addEntities(altTitles[i].value) %>
-<% - } - } -%> -
Date Issued: -<% - if (dateIssued.length == 0) - { -%> - None -<% - } - else - { -%> - -<% - } -%> -
Publisher: -<% - if (publisher.length == 0) - { -%> - None -<% - } - else - { -%> - <%= Utils.addEntities(publisher[0].value) %> -<% - } -%> -
Citation: -<% - if (citation.length == 0) - { -%> - None -<% - } - else - { -%> - <%= Utils.addEntities(citation[0].value) %> -<% - } -%> -
Series/Report No: -<% - DCValue[] seriesNumbers = item.getDC("relation","ispartofseries", Item.ANY); - if (seriesNumbers.length == 0) - { -%> - None -<% - } - else - { - for (int i = 0; i < seriesNumbers.length ; i++) - { -%> - <%= Utils.addEntities(seriesNumbers[i].value) %>
-<% - } - } -%> -
Identifiers: -<% - DCValue[] identifiers = item.getDC("identifier", Item.ANY, Item.ANY); - - for (int i = 0; i < identifiers.length; i++) - { - // Skip citation, handled above - if (!identifiers[i].qualifier.equals("citation")) - { -%> - <%= identifierQualNames.get(identifiers[i].qualifier) %>: <%= Utils.addEntities(identifiers[i].value) %>
-<% - } - } -%> -
Type: - <%= type %> -
Language:<%= language.getDisplayName() %>
- value="Correct one of these"> + value="Correct one of these">
- - - - - - - - - - - - - - - - + layoutSection(request, out, inputSet, si, item, 1);
Keywords: -<% - DCValue[] keywords = item.getDC("subject", null, Item.ANY); - - if (keywords.length == 0) - { -%> - None -<% - } - else - { - for (int i = 0; i < keywords.length; i++) - { -%> -<%= Utils.addEntities(keywords[i].value) %>
-<% - } - } - - DCValue[] abstr = item.getDC("description", "abstract", Item.ANY); - DCValue[] sponsors = item.getDC("description", "sponsorship", Item.ANY); - DCValue[] otherDesc = item.getDC("description", null, Item.ANY); -%> -
Abstract:<%= (abstr.length == 0 ? "None" : Utils.addEntities(abstr[0].value)) %>
Sponsors:<%= (sponsors.length == 0 ? "None" : Utils.addEntities(sponsors[0].value)) %>
Other Description:<%= (otherDesc.length == 0 ? "None" : Utils.addEntities(otherDesc[0].value)) %>
@@ -415,6 +261,7 @@