source: main/trunk/greenstone3/web/interfaces/default/transform/pages/depositor_home.xsl@ 33855

Last change on this file since 33855 was 33855, checked in by davidb, 4 years ago

Code added to detect if the CGI parameter already specifies a collection, and if it does, auto-select it and go straight into the starting page for deposit an item for that collection. If the user is not in the right group then an error message is produced

  • Property svn:executable set to *
  • Property svn:mime-type set to application/xml
File size: 3.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gslib="http://www.greenstone.org/skinning"
7 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
8 extension-element-prefixes="java util"
9 exclude-result-prefixes="java util gslib gsf">
10
11 <!-- use the 'main' layout -->
12 <xsl:include href="layouts/main.xsl"/>
13
14 <!-- set page title -->
15 <xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'depositor.title')"/></xsl:template>
16
17 <!-- set page breadcrumbs -->
18 <xsl:template name="breadcrumbs">
19 <gslib:siteLink/><gslib:rightArrow/><gslib:depositorTitleAndLink/><gslib:rightArrow/>
20 <xsl:if test="/page/pageResponse/collection">
21 <gslib:collectionNameLinked/><gslib:rightArrow/>
22 </xsl:if>
23 </xsl:template>
24
25 <xsl:template match="/page">
26 <xsl:choose>
27 <xsl:when test="/page/pageResponse/error">
28 <div id="gs_error" class="ui-state-error ui-corner-all">
29 <span class="ui-icon ui-icon-alert" style="float: left;"><xsl:text> </xsl:text></span><xsl:value-of select="/page/pageResponse/error"/>
30 </div>
31 <br/>
32 </xsl:when>
33 <xsl:otherwise>
34 <xsl:choose>
35 <xsl:when test="/page/pageResponse/depositorPage/collectionList/collection">
36 <div style="display:table; margin: 0 auto">
37 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'depositor.select_collection')"/><gsf:space/>
38 <select id="colSelect">
39 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'depositor.select_collection_option')"/></option>
40 <xsl:for-each select="/page/pageResponse/depositorPage/collectionList/collection">
41 <option>
42 <xsl:value-of select="@name"/>
43 </option>
44 </xsl:for-each>
45 </select>
46
47 <script type="text/javascript">
48 <xsl:text disable-output-escaping="yes">
49 var availableDepositorCols = [
50 </xsl:text>
51 <xsl:for-each select="/page/pageResponse/depositorPage/collectionList/collection">
52 <xsl:text disable-output-escaping="yes">"</xsl:text><xsl:value-of select="@name"/><xsl:text disable-output-escaping="yes">"</xsl:text>,
53 </xsl:for-each>
54 <xsl:text disable-output-escaping="yes">
55 null ] <!-- to simplify array initialization -->
56 </xsl:text>
57 </script>
58
59 <script type="text/javascript">
60 <xsl:text disable-output-escaping="yes">
61 var col = gs.cgiParams["c"];
62 if (col &amp;&amp; availableDepositorCols.includes(col)) {
63 document.location.href = gs.xsltParams.library_name + "?a=de&amp;sa=getwizard&amp;c=" + col;
64 }
65 </xsl:text>
66 </script>
67
68 <script type="text/javascript">
69 <xsl:text disable-output-escaping="yes">
70 $("#colSelect").change(function()
71 {
72 var selected = $("#colSelect").find(":selected");
73 if (selected.text() != "-- Select a collection --")
74 {
75 document.location.href = gs.xsltParams.library_name + "?a=de&amp;sa=getwizard&amp;c=" + selected.text();
76 }
77 });
78 </xsl:text>
79 </script>
80 </div>
81 </xsl:when>
82 <xsl:otherwise>
83 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'depositor.no_valid_collection')"/>
84 </xsl:otherwise>
85 </xsl:choose>
86 </xsl:otherwise>
87 </xsl:choose>
88 </xsl:template>
89</xsl:stylesheet>
90
Note: See TracBrowser for help on using the repository browser.