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

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

Updates to styles, tweaks etc etc

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