source: MILK/trunk/milk_server/milk_server/templates/ndgPage.html @ 5867

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/MILK/trunk/milk_server/milk_server/templates/ndgPage.html@5867
Revision 5867, 8.2 KB checked in by sdonegan, 11 years ago (diff)

Updated content

Line 
1<html xmlns="http://www.w3.org/1999/xhtml" 
2        xmlns:py="http://genshi.edgewall.org/"
3        xmlns:xi="http://www.w3.org/2001/XInclude" py:strip="">
4        <xi:include href="utils.html" />
5<?python
6from ndg.common.src.clients.xmldb.eXist.searchclient import SearchClient
7?>   
8    <head py:def="pagehead()" py:strip="True">
9        <title py:content="c.title">title</title>
10        <!--! The following includes the javascript, note that the XML
11        function is needed to avoid escaping the < character -->
12        ${Markup(h.javascript_include_tag(builtins=True))}
13        <script type="text/javascript" src="$g.server/js/toggleDiv.js"/>
14        <link media="all, screen" href="$g.server/layout/style/ndg2.css" type="text/css" rel="stylesheet"/>
15    </head>
16   
17    <div py:def="header()">
18        <div py:if="g.browseEnabled and not g.discoveryEnabled and not g.atomEditorEnabled" id="browseheader"/>
19        <div py:if="not (g.browseEnabled and not g.discoveryEnabled and not g.atomEditorEnabled)" id="editorheader"/>
20        <div id="logo"><img src="$g.LeftLogo" alt="$g.LeftAlt" /></div>
21    </div>
22   
23    <!--! One line search box for top of many pages follows -->
24    <div py:def="searchOneLine(targets=0)" class="searchBar">
25        <table width="100%"><tr><td align="left">
26        <form action="$g.discoveryURL">
27            Discovery text search<span py:replace="helpIcon('nts_help', 'div')"/>&nbsp;
28            <input type="text" size="25" name="searchString"/>
29            <select name="textTarget">
30            <option value="Authors">Authors</option>
31            <option value="All" selected="selected">All</option>
32            <option value="Params">Parameters</option> 
33            </select>
34            <span py:if="targets"> in
35                    <?python
36                    sel=[['Discovery','Discovery'],['Browse','Browse'],['Simulation','NumSim']]
37                    ?>
38                    <select name="searchTarget">
39                        ${Markup(h.options_for_select(sel,targets))}
40                    </select>
41            </span>
42            <input type="submit" value="Search"/>
43         </form>
44         </td>
45         <td py:if="not g.standalone" align="right">
46            <span py:if="'ndgSec' in session" id="loginBar">
47            <span py:replace="logOut()"/></span>
48            <span py:if="'ndgSec' not in session" id="loginBar">
49            <span py:replace="logIn()"/></span>
50        </td></tr></table>
51          <div id="nts_help" class="hidden">
52            <div class="helptxt"><p> This will do a completely new discovery text search with no constraints beyond the target of the
53            text search from the drop down list (All, Authors, Parameters) </p></div>
54          </div>
55          <div id="ns_help" class="hidden">
56            <div class="helptxt"><p> This will return you to the new search page</p></div>
57          </div>
58    </div>
59   
60    <!--! One line search box for the local browse service
61    <div py:def="localTextSearch()" class="searchBar">
62        <table width="100%"><tr><td align="left">
63        <form action="$g.discoveryURL">
64            Browse text search <span py:replace="helpIcon('browse_help', 'div')"/>&nbsp;
65            <input type="text" size="25" name="searchString"/>
66            <input type="submit" value="Search"/>
67            <input type="hidden" name="searchTarget" value="Browse"/>
68            <input type="hidden" name="textTarget" value="$SearchClient.ATOM_TARGET"/>
69         </form>
70         </td>
71                </tr></table>
72          <div id="browse_help" class="hidden">
73            <div class="helptxt"><p>
74            This will do a completely new text search against the local browse documents.
75            </p></div>
76          </div>
77    </div>-->
78   
79
80   
81    <div py:def="PageTabs(tabv)" id="PageTabs">
82        <div id="PageTabRow">
83            <ul>
84                <!--! NB, for some reason, when tabv is cast into a string
85                it then is no longer accessible - so store the result in
86                a different variable  -->
87                            <span py:with="currentTab = str(tabv)" py:strip="">
88                <span py:for="tab in c.pageTabs">
89                        <span py:if="tab[0] == currentTab">
90                            <li class="current">
91                            <span class="pagetab">
92                            ${Markup(h.link_to_if(False,tab[0],tab[1]))}
93                            </span>
94                            </li>
95                        </span>
96                        <span py:if="tab[0] != currentTab">
97                            <li class="hidden">
98                            <span class="pagetab">
99                            ${Markup(h.link_to_if(True,tab[0],tab[1]))}
100                            </span>
101                            </li>
102                        </span>
103                 </span>
104                 </span>
105            </ul>
106        </div>
107        <div class="line"/>
108        <div class="clear"/>
109    </div>
110
111
112        <div py:def="corrections()" id="Corrections">
113                <p py:if="'ndgSec' in session"> Please use this
114                        <span>
115                        ${Markup(h.link_to_remote("link", dict(update="Corrections",
116                url=h.url_for(controller='trackback/trackback', action='askCorrect'))))}
117            </span>
118            to enter any errors in the metadata record above.
119        </p>
120        </div>
121
122
123    <!--! Page Footer follows -->
124    <div py:def="footer()" id="Footer">
125        <center><table><tbody>
126            <tr>
127                <td align="left" width="40%">
128                    <table><tbody>
129                    <tr><td><span py:replace="linkimage(g.ndgLink,g.ndgImage,'NDG')"/></td>
130                    <td> This portal is a product of the <a href="http://ndg.nerc.ac.uk"> NERC DataGrid</a>
131                    ${g.disclaimer} </td>
132                    </tr>
133                    </tbody></table>
134                </td>
135                <td width="20%" align="center">
136                DDS News
137                <a href="$g.server/getFeed/discovery"><img border="0" src="$g.feedIcon" alt="Atom feed for discovery service" title="Atom feed for discovery service"/></a>
138                </td>
139                <td width="20%" align="center">
140                    <a href="mailto:$c.helpEmail?subject=NERC Data Discovery Service enquiry">Report problems</a> 
141                </td>
142                <td width="20%" align="center">
143                    <a href="$c.oaiPage">Data Providers Login</a> 
144                </td>
145                <td align="right"><span py:replace="linkimage(g.stfcLink,g.stfcImage,'Hosted by the STFC CEDA')"/></td>
146            </tr>
147        </tbody></table></center>
148    </div>
149   
150    <!--! Login and out buttons --> 
151    <span py:def="logOut()" class="logOut">
152            <?python
153            from base64 import urlsafe_b64encode
154           
155            # Base 64 encode to enable passing around in 'r' argument of query
156            # string for use with login/logout
157            g.ndg.security.common.sso.state.returnToURL = str(c.requestURL)
158            g.ndg.security.common.sso.state.b64encReturnToURL = urlsafe_b64encode(c.requestURL)
159            ?>
160        <form action="$g.logout">
161            <input type="hidden" name="r" value="${g.ndg.security.common.sso.state.b64encReturnToURL}"/>
162            <input type="submit" value="Logout"/>
163        </form>
164    </span>
165   
166    <span py:def="logIn()" class="logIn">
167            <?python
168            from base64 import urlsafe_b64encode
169           
170            # Base 64 encode to enable passing around in 'r' argument of query
171            # string for use with login/logout
172            g.ndg.security.common.sso.state.returnToURL = str(c.requestURL)
173            g.ndg.security.common.sso.state.b64encReturnToURL = urlsafe_b64encode(c.requestURL)
174            ?>
175        <form action="$g.wayfuri">
176            <input type="hidden" name="r" value="${g.ndg.security.common.sso.state.b64encReturnToURL}"/>
177            <input type="submit" value="Login"/>
178        </form>
179    </span>
180   
181
182    <div class="error" py:def="displayErrorDict(errors)">
183        <h3>Input error</h3>
184        <table align="center">
185        <span py:for="key, errors in errors.items()" py:strip="">
186                <tr py:if="isinstance(errors, list)" py:for="i, error in enumerate(errors)">
187                        <td py:if="i == 0"><b>${Markup(key)}</b></td>
188                        <td py:if="i != 0" />
189                        <td align="left">${Markup(error)}</td>
190                </tr>
191                <tr py:if="not isinstance(errors, list)">
192                        <td><b>${Markup(key)}</b></td>
193                        <td align="left">${Markup(errors)}</td>
194                </tr>
195        </span>
196        </table>
197    </div>
198   
199   
200
201</html>
Note: See TracBrowser for help on using the repository browser.