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

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

Updates to deal with problems of changing bbox params for global search

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    <div py:def="PageTabs(tabv)" id="PageTabs">
81        <div id="PageTabRow">
82            <ul>
83                <!--! NB, for some reason, when tabv is cast into a string
84                it then is no longer accessible - so store the result in
85                a different variable  -->
86                            <span py:with="currentTab = str(tabv)" py:strip="">
87                <span py:for="tab in c.pageTabs">
88                        <span py:if="tab[0] == currentTab">
89                            <li class="current">
90                            <span class="pagetab">
91                            ${Markup(h.link_to_if(False,tab[0],tab[1]))}
92                            </span>
93                            </li>
94                        </span>
95                        <span py:if="tab[0] != currentTab">
96                            <li class="hidden">
97                            <span class="pagetab">
98                            ${Markup(h.link_to_if(True,tab[0],tab[1]))}
99                            </span>
100                            </li>
101                        </span>
102                 </span>
103                 </span>
104            </ul>
105        </div>
106        <div class="line"/>
107        <div class="clear"/>
108    </div>
109
110
111        <div py:def="corrections()" id="Corrections">
112                <p py:if="'ndgSec' in session"> Please use this
113                        <span>
114                        ${Markup(h.link_to_remote("link", dict(update="Corrections",
115                url=h.url_for(controller='trackback/trackback', action='askCorrect'))))}
116            </span>
117            to enter any errors in the metadata record above.
118        </p>
119        </div>
120
121
122    <!--! Page Footer follows -->
123    <div py:def="footer()" id="Footer">
124        <center><table><tbody>
125            <tr>
126                <td align="left" width="60%">
127                    <table><tbody>
128                    <tr><td><span py:replace="linkimage(g.ndgLink,g.ndgImage,'NDG')"/></td>
129                    <td> This portal is a product of the <a href="http://ndg.nerc.ac.uk"> NERC DataGrid</a>
130                    ${g.disclaimer} </td>
131                    </tr>
132                    </tbody></table>
133                </td>
134                <td width="40%" align="center">
135                This is where the rss feed goes
136                </td>
137                <td align="right"><span py:replace="linkimage(g.stfcLink,g.stfcImage,'Hosted by the STFC CEDA')"/></td>
138            </tr>
139        </tbody></table></center>
140    </div>
141   
142    <!--! Login and out buttons --> 
143    <span py:def="logOut()" class="logOut">
144            <?python
145            from base64 import urlsafe_b64encode
146           
147            # Base 64 encode to enable passing around in 'r' argument of query
148            # string for use with login/logout
149            g.ndg.security.common.sso.state.returnToURL = str(c.requestURL)
150            g.ndg.security.common.sso.state.b64encReturnToURL = urlsafe_b64encode(c.requestURL)
151            ?>
152        <form action="$g.logout">
153            <input type="hidden" name="r" value="${g.ndg.security.common.sso.state.b64encReturnToURL}"/>
154            <input type="submit" value="Logout"/>
155        </form>
156    </span>
157   
158    <span py:def="logIn()" class="logIn">
159            <?python
160            from base64 import urlsafe_b64encode
161           
162            # Base 64 encode to enable passing around in 'r' argument of query
163            # string for use with login/logout
164            g.ndg.security.common.sso.state.returnToURL = str(c.requestURL)
165            g.ndg.security.common.sso.state.b64encReturnToURL = urlsafe_b64encode(c.requestURL)
166            ?>
167        <form action="$g.wayfuri">
168            <input type="hidden" name="r" value="${g.ndg.security.common.sso.state.b64encReturnToURL}"/>
169            <input type="submit" value="Login"/>
170        </form>
171    </span>
172   
173
174    <div class="error" py:def="displayErrorDict(errors)">
175        <h3>Input error</h3>
176        <table align="center">
177        <span py:for="key, errors in errors.items()" py:strip="">
178                <tr py:if="isinstance(errors, list)" py:for="i, error in enumerate(errors)">
179                        <td py:if="i == 0"><b>${Markup(key)}</b></td>
180                        <td py:if="i != 0" />
181                        <td align="left">${Markup(error)}</td>
182                </tr>
183                <tr py:if="not isinstance(errors, list)">
184                        <td><b>${Markup(key)}</b></td>
185                        <td align="left">${Markup(errors)}</td>
186                </tr>
187        </span>
188        </table>
189    </div>
190   
191   
192
193</html>
Note: See TracBrowser for help on using the repository browser.