source: TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_functions.html @ 4237

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_functions.html@4237
Revision 4237, 8.6 KB checked in by cbyrom, 12 years ago (diff)

Add 'create atom' page - to create the 'header' info for the input data +
create home page + start a new controller for list/search purposes.
Extend ndgInterface to allow specification of whether cache is used or
not - NB, this causes problems when editing/updating docs since the
original was always being reloaded from the cache.

Line 
1<?python
2        from ndgUtils.vocabtermdata import VocabTermData as VTD
3 ?>
4<!--! A collection of template definitions for use in atom output construction -->
5<html xmlns="http://www.w3.org/1999/xhtml" 
6        xmlns:py="http://genshi.edgewall.org/"
7        xmlns:xi="http://www.w3.org/2001/XInclude"
8        py:strip="">
9       
10    <xi:include href="utils.html" />
11   
12    <div class="metadataSection" py:def="People(ptype,listOfPeople)">
13        <table py:if="listOfPeople">
14            <tr><td class="linehead"><span class="heading0">$ptype</span></td></tr>
15            <tr><td>
16            <table>
17                    <tr py:for="person in listOfPeople">
18                        <td class="cellhead">$person.role</td>
19                        <td>$person.name</td>
20                        <td><a href="$person.uri">$person.uri</a></td>
21                                </tr>
22                        </table>
23                        </td></tr>
24        </table> 
25    </div>
26   
27    <div class="metadataSection" py:def="SummaryDeployments(deployments)" id="summaryDeployment">
28        <table py:if="deployments">
29                <tr>
30                <td class="linehead">
31                <table><tr><td>Deployments - summary</td>
32                    <td align="right">
33                <span py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navPlus)" strip=""/>
34                </td></tr>
35                        </table>
36            </td></tr>
37                        <tr><td>
38                        <table>
39                        <tr>
40                        <td class="cellhead">Activities</td>
41                        <td>
42                                <span py:for="act in c.atom.ME.activities" py:strip="">
43                                        <a href="$act.url">${act.title or act.url}</a>&nbsp;&nbsp; 
44                                </span>
45                        </td>                   
46                        </tr>
47                        <tr><td class="cellhead">Observation Stations</td>
48                        <td>
49                                <span py:for="obs in c.atom.ME.obs" py:strip="">
50                                        <a href="$obs.url">${obs.title or obs.url}</a>&nbsp;&nbsp; 
51                                </span>
52                        </td>                   
53                        </tr>
54                        <tr><td class="cellhead">Data Production tools</td>
55                        <td>
56                                <span py:for="dpt in c.atom.ME.dpts" py:strip="">
57                                        <a href="$dpt.url">${dpt.title or dpt.url}</a>&nbsp;&nbsp; 
58                                </span>
59                        </td>                   
60                        </tr>
61                        </table></td></tr>
62                </table>
63        </div>
64   
65    <div class="metadataSection hidden" py:def="FullDeployments(deployments)" id="fullDeployment">
66        <table py:if="deployments">
67        <tr><td class="linehead" >
68            <table><tr><td>Deployments - details</td>
69            <td align="right">
70            <span py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navMinus)" strip=""/>
71            </td></tr></table>
72        </td></tr>
73        <tr>
74                <table class="subTable">
75                                <div py:for="d in deployments" py:strip="">
76                                <div py:replace="FullDeployment(deployments[d])"/>
77                        </div>
78                </table></tr>
79                </table>
80        </div>
81       
82    <div py:def="FullDeployment(dep)" py:strip="">
83                <tr class="cellhead" colspan="2"><td> Start Date: $dep.startDate, End Date: $dep.endDate</td></tr>
84        <tr py:for="link in dep.deploymentLinks" >
85        <?python
86                rel=link.vocabUrl.upper()
87                if rel.startswith(VTD.ACTIVITY_TERM):
88                                rel = "Activity"
89                elif rel.startswith(VTD.OBS_TERM):
90                                rel = "Observation Station"
91                elif rel.startswith(VTD.DPT_TERM):
92                                rel = "Data Production Tool"
93        ?>
94        <td>$rel</td><td><a href="$link.url">${link.title or link.url}</a></td>
95        </tr>
96    </div>
97
98
99    <span py:def="expandHideSection(div1,div2,icon)">
100            <a href="javascript:;" title="Show/Hide details" 
101                onclick="swapLayers('$div1', '$div2'); return false;">
102            <img src="$icon" alt="Toggle expand/contract" class="helpicon"/></a>
103    </span>
104
105    <div class="metadataSection" py:def="OnlineReferences(links)">
106        <table py:if="links" cellspacing="0" cellpadding="3" 
107        border="0" width="100%">
108                        <div class="linehead"> Online References</div>
109            <ul>
110                <li py:for="link in links"><a href="$link.href">${link.title or link.rel or link.href}</a></li>
111            </ul>
112        </table>
113    </div>
114
115
116    <div class="metadataSection hidden" py:def="FullParameterList(params)" id="fullParams">
117        <table py:if="params">
118            <tr><td class="linehead">
119            <table>
120            <tr><td>Parameters - details</td>
121            <td align="right">
122            <span py:replace="expandHideSection('fullParams','summaryParams',g.navMinus)" strip=""/>
123            </td></tr></table></td></tr>
124            <tr>
125            <table class="subTable">
126                <tr class="cellhead"><td>Label</td><td>Vocab term definition</td></tr>
127                        <tr py:for="param in params">
128                                <td>$param.label</td>
129                                <td><a href="$param.scheme">$param.term</a></td>
130                        </tr>
131            </table>
132            </tr>
133        </table>
134    </div>
135
136
137    <div py:def="SummaryParameterList(params)" id="summaryParams" class="metadataSection shown">
138        <table py:if="params">
139            <tr><td class="linehead">
140            <table><tr><td>Parameters - summary</td>
141            <td align="right">
142            <span py:replace="expandHideSection('fullParams','summaryParams',g.navPlus)" strip=""/>
143            </td></tr></table></td></tr>
144            <tr>
145            <table class="subTable">
146                <?python
147                        fullLength = len(list(params))
148                        colNumber = 4
149                ?>
150                        <span py:for="index, param in enumerate(params)" py:strip="">
151                                <tr class="summaryText">
152                                 <span py:if="not index%colNumber" py:strip="">
153                                 <span py:for="i in range(colNumber)" py:strip="">
154                                        <td py:if="index &lt; fullLength - i">${params[index + i].label}</td>
155                                 </span>
156                                 </span>
157                                        </tr>
158                        </span>
159            </table>
160            </tr>
161        </table>
162    </div>
163   
164    <div class="metadataSection" py:def="Coverage()">
165        <table>
166            <tr><td class="linehead" colspan="2"><span class="heading0"> Data Coverage</span> </td></tr>
167            <tr>
168                <td><div py:replace="Spatial()"/></td>
169                <td><div py:replace="Temporal()"/></td>
170                </tr>
171        </table>
172    </div>
173
174    <div py:def="Temporal()" py:strip="">
175                <table><tr><td colspan="2" class="cellhead">Temporal coverage</td></tr>
176            <span py:if="c.atom.t1 or c.atom.t2" py:strip="">
177                                <tr><td>Start Date:</td><td>${c.atom.t1}</td></tr>
178                                <tr><td>End Date:</td><td>${c.atom.t2}</td></tr>
179            </span>
180            <span py:if="not c.atom.t1 and not c.atom.t2" py:strip="">
181                                <tr><td colspan="2">No temporal information available.</td></tr>
182                        </span>
183        </table>
184    </div>
185                           
186    <div py:def="Spatial()" py:strip="">
187        <table>
188            <tr><td colspan="2" class="cellhead">Spatial coverage</td></tr>
189            <span py:if="not c.atom.minX and not c.atom.minY and not c.atom.maxX and not c.atom.maxY" py:strip="">
190                    <tr><td colspan="2">No spatial coverage information available.</td></tr>
191                </span>
192            <span py:if="c.atom.minX or c.atom.minY or c.atom.maxX or c.atom.maxY" py:strip="">
193                                <tr><td colspan="2" align="center">${c.atom.maxY}</td></tr>
194                        <tr><td align="center">${c.atom.minX}</td><td align="center">${c.atom.maxX}</td></tr>
195                        <tr><td colspan="2" align="center">${c.atom.minY}</td></tr>
196                </span>
197        </table> 
198    </div>
199   
200       
201    <div py:def="Services()" id="ServiceList">
202        <table cellspacing="0" cellpadding="3" width=" 100%" border="0"><tbody>
203            <tr><td class="linehead" colspan="3"><span class="headingO">Links and Services</span></td></tr>
204            <tr py:if="c.atom.ndgObject is not None">
205                    <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.xmlURL,g.icons_xml,'[XML]')"/></td>
206                <td>Downloadable XML version of this record
207                    <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
208                (Original <span py:replace="linkimage(c.atom.ndgObject.xmlURL+'&amp;outputSchema=original',g.icons_xml,'[XML]')"/>)
209                    </span></td>
210                </tr>
211            <tr py:if="c.atom.ndgObject is not None">
212                <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.printableURL,g.icons_prn,'[HTML]')"/></td>
213                    <td>Viewable XML version of this record
214                 <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
215                    (Original <span py:replace="linkimage(c.atom.ndgObject.printableURL+'&amp;outputSchema=original',g.icons_prn,'[HTML]')"/>)
216                </span></td>
217            </tr>
218            <tr py:if="c.atom.ndgObject.gettable==1"><td></td><td>(Original records are the raw material harvested from data providers)</td></tr>
219        </tbody></table>
220    </div>
221   
222</html>
Note: See TracBrowser for help on using the repository browser.