source: MILK/trunk/milk_server/milk_server/templates/atom_editor/atom_functions.html @ 4535

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/MILK/trunk/milk_server/milk_server/templates/atom_editor/atom_functions.html@4535
Revision 4535, 30.5 KB checked in by cbyrom, 12 years ago (diff)

Generalise existing methods to allow data entities to be looked up with
the same code as associated deployments data + add new templates to
display the DEs + extend the javascript to allow multiple callbacks
to retrieve the info + various tidy ups and fixes.

Line 
1<!--! A collection of template definitions for use in atom output construction -->
2<html xmlns="http://www.w3.org/1999/xhtml" 
3        xmlns:py="http://genshi.edgewall.org/"
4        xmlns:xi="http://www.w3.org/2001/XInclude"
5        py:strip="">
6       
7    <xi:include href="../utils.html" />
8
9    <div py:if="c.errors" class="error" py:def="displayErrors()">
10        <h3>Input error</h3>
11        <table align="center">
12        <span py:for="key, errors in c.errors.items()" py:strip="">
13                <tr py:for="error in errors">
14                        <td align="left">${Markup(error)}</td>
15                </tr>
16        </span>
17        </table>
18    </div>
19
20   
21    <div py:def="UploadFile(title, fileType, editLink)">
22        <div class="headingblock" py:if="editLink">
23        ${Markup(h.form(h.url(controller='atom_editor/editatom', action='upload', uri = c.uri), multipart=True))}
24        <table>
25                              <tr>
26                              <td class="cellhead">
27                              ${Markup(title)}
28                                  </td>
29                                  </tr>
30                                  <tr>
31                                  <td></td>
32                                  <td>
33                                          ${Markup(h.file_field('upload_' + fileType, size="80"))}
34                                  </td>
35                                  </tr>
36                              <tr>
37                              <td />
38                              <td colspan="2">
39                          ${Markup(h.submit('Upload'))}
40                              </td>
41                              </tr>
42        </table>
43                ${Markup(h.end_form())}
44                </div>
45        </div>
46
47   
48    <div class="metadataSection" py:def="ContentFile(fileName, editLink)">
49        <?python       
50                                divID = 'contentFileDiv'
51                                edID=divID+'ed'
52                ?>
53        <table>
54            <tr><td class="linehead">
55                    <table>
56                        <tr><td>Content File</td>
57                            <span py:if="editLink" py:strip="">
58                                <td align="right">
59                                        <span class="txtBlktog">
60                                        <a href="javascript:;" title="Toggle Form" 
61                                             onclick="swapLayers('$divID', '$edID'); return false;">
62                                        Add/Edit</a>
63                                        </span>
64                                    </td>
65                            </span>
66                                        </tr>
67                                </table>
68            </td></tr>
69            <tr><td>
70                <div id = "$divID">
71                                <div py:replace="ContentFileTable(fileName, None)"/>
72                        </div>
73                        </td></tr>
74                <tr py:if="editLink"><td>
75                        <div id="$edID" class="hidden">
76                                <div py:replace="ContentFileTable(fileName, editLink)"/>
77                        </div>
78                        </td></tr>
79        </table>
80        </div>
81
82
83        <div py:def="ContentFileTable(fileName, editLink)">
84                <form action="${editLink}" method="post">
85            <table>
86                <tr py:if="not editLink and not fileName">
87                                <td colspan="3">No data specified at present</td>
88                        </tr>
89                        <tr py:if="editLink or fileName">
90                                <td class="cellhead">File name:</td>
91                        <td py:if="editLink">
92                                    ${Markup(h.text_field('contentFile', fileName))}
93                                        </td>
94                        <td py:if="not editLink">
95                        ${Markup(fileName)}
96                                </td>
97                                <td py:if="editLink">
98                                        <input type="submit" value="Update" />
99                                </td>
100                </tr>
101                        </table>
102                </form>
103        </div>
104
105    <div class="headingblock" py:def="GeneralInfo(editLink)">
106                <h4>General Info</h4>
107                <form action="${c.saveLink}" method="post">
108                        <table summary="" width="100%">
109                        <tr>
110                        <td class="cellhead" width="10%">Title:</td>
111                        <td py:if="editLink" class="column">
112                                ${Markup(h.text_field('title',c.atom.title, size="120"))}
113                        </td>
114                        <td py:if="not editLink" class="column">
115                                ${Markup(c.atom.title)}
116                        </td>
117                        <?python logos = c.atom.getLogos() ?>
118                        <td py:if="logos">
119                   <img py:for="logo in logos" 
120                        alt="$logo.rel" 
121                        src="$logo.href" class="clear"/>
122                </td>
123                            </tr>
124                            <tr py:if="not editLink">
125                        <td class="cellhead">Type:</td>
126                        <td class="column">
127                                ${Markup(c.atom.atomTypeName)}
128                        </td>
129                        </tr>
130                            <span py:if="len(c.subTypes) &gt; 0" py:strip="">
131                            <tr>
132                        <td class="cellhead">Sub-Type:</td>
133                        <td py:if="editLink" class="column">
134                                ${Markup(h.select('subtype',option_tags=c.subTypes))}
135                        </td>
136                        <td py:if="not editLink" class="column">
137                                ${Markup(g.vtd.tidySubTypeTitle(c.atom.subtypeID))}
138                        </td>
139                        </tr>
140                        </span>
141                        <tr py:if="not c.atom.isDeployment()">
142                        <td class="cellhead" width="10%">Abbreviation:</td>
143                        <td py:if="editLink" class="column">
144                                ${Markup(h.text_field('abbreviation',c.atom.ME.abbreviation))}
145                        </td>
146                        <td py:if="not editLink" class="column">
147                                ${Markup(c.atom.ME.abbreviation or "")}
148                        </td>
149                            </tr>
150                         <tr>
151                        <td></td>
152                        <td py:if="editLink">
153                                <input type="submit" value="Update" />
154                                <input type='button' onclick='history.go(-1)' value='Cancel' />
155                        </td>
156                </tr></table>
157        </form>
158        </div>
159
160
161   
162    <div class="metadataSection" py:def="TextArea(name, value, editLink)">
163        <?python       
164                                divID = name + 'Div'
165                                edID=divID+'ed'
166                ?>
167        <table py:if="value or editLink">
168            <tr><td class="linehead">
169                    <table>
170                        <tr><td>${name}</td>
171                            <span py:if="editLink" py:strip="">
172                                <td align="right">
173                                        <span class="txtBlktog">
174                                        <a href="javascript:;" title="Toggle Form" 
175                                             onclick="swapLayers('$divID', '$edID'); return false;">
176                                        Add/Edit</a>
177                                        </span>
178                                    </td>
179                            </span>
180                                        </tr>
181                                </table>
182            </td></tr>
183            <tr><td>
184                <div id = "$divID">
185                                ${Markup(value or 'No data specified at present')}
186                        </div>
187                        </td></tr>
188                <tr py:if="editLink"><td>
189                        <div id="$edID" class="hidden">
190                                        <form action="${editLink}" method="post">
191                                        <table>
192                                <tr><td>
193                                        ${Markup(h.text_area(name, value, class_="fullWidth", rows="9"))}
194                                </td></tr>
195                                <tr><td>
196                      ${Markup(h.submit(value="Update"))}
197                    </td></tr>
198                                        </table>
199                                        </form>
200                        </div>
201                        </td></tr>
202        </table>
203    </div>
204   
205    <div class="metadataSection" py:def="People(ptype,listOfPeople,editLink)">
206        <?python       
207                                divID = ptype + 'peopleDiv'
208                                edID=divID+'ed'
209                ?>
210        <table py:if="listOfPeople or editLink">
211            <tr><td class="linehead">
212                    <table>
213                        <tr><td>$ptype</td>
214                            <span py:if="editLink" py:strip="">
215                                <td align="right">
216                                        <span class="txtBlktog">
217                                        <a href="javascript:;" title="Toggle Form" 
218                                             onclick="swapLayers('$divID', '$edID'); return false;">
219                                        Add/Edit</a>
220                                        </span>
221                                    </td>
222                            </span>
223                                        </tr>
224                                </table>
225            </td></tr>
226            <tr><td>
227                <div id = "$divID">
228                                <div py:replace="PeopleTable(listOfPeople, ptype, None)"/>
229                        </div>
230                        </td></tr>
231                <tr py:if="editLink"><td>
232                        <div id="$edID" class="hidden">
233                                <div py:replace="PeopleTable(listOfPeople, ptype, editLink)"/>
234                        </div>
235                        </td></tr>
236        </table>
237    </div>
238
239        <div py:def="PeopleTable(listOfPeople, ptype, editLink)">
240                <form action="${editLink}" method="post">
241            <table>
242                <tr>
243                        <?python
244                                hasRole = False
245                                dataType = 'email'
246                                if ptype == "Responsible Parties":
247                                        hasRole = True
248                                        dataType = 'URI'
249                                               
250                                extraRows = 3
251                                if ptype == "Author":
252                                        extraRows = 0
253                        ?>
254                        <span py:if="not editLink and not listOfPeople" py:strip="">
255                                <td colspan="3">No data specified at present</td>
256                        </span>
257                        <span py:if="editLink or listOfPeople" py:strip="">
258                                <th py:if="hasRole" align="left">Role</th>
259                                <th align="left">Name</th>
260                                <th align="left">${dataType}</th>
261                        </span>
262                        <span py:if="editLink and listOfPeople" py:strip="">
263                                <th align="center">Remove</th>
264                        </span>
265                </tr>
266                    <tr py:for="i, person in enumerate(listOfPeople)">
267                        <span py:if="hasRole" py:strip="">
268                                <td py:if="editLink">
269                                            ${Markup(h.text_field(ptype + '.' + str(i) + '.role',person.role))}
270                                        </td>
271                        <td py:if="not editLink">
272                                $person.role
273                                </td>
274                        </span>
275                        <td>
276                        <span py:if="editLink" py:strip="">
277                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name',person.name))}
278                                </span>
279                        <span py:if="not editLink" py:strip="">
280                                $person.name
281                                </span>
282                        </td>
283                        <td>
284                        <span py:if="editLink" py:strip="">
285                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri',person.uri))}
286                                </span>
287                        <span py:if="not editLink" py:strip="">
288                                <a href="$person.uri">$person.uri</a>
289                                </span>
290                        </td>
291                        <span py:if="editLink and listOfPeople" py:strip="">
292                                <td align="center">
293                                        ${Markup(h.check_box(ptype + '.' + str(i) + '.remove'))}
294                                </td>
295                        </span>
296                                </tr>
297                                <!--! Add a few more rows when in edit mode  -->
298                        <span py:if="editLink" py:strip="">
299                    <tr py:for="i in range(len(listOfPeople), len(listOfPeople) + extraRows)">
300                        <td py:if="hasRole">
301                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.role'))}
302                        </td>
303                        <td>
304                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name'))}
305                        </td>
306                        <td>
307                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri'))}
308                        </td>
309                        <span py:if="editLink" py:strip=""><td></td></span>
310                                </tr>
311                       
312                                <tr><td>
313                      ${Markup(h.submit(value="Update"))}
314                      </td></tr>
315                                </span>
316                        </table>
317                </form>
318        </div>
319       
320   
321    <div class="headingblock" py:def="SummaryDeployments(deployments)" id="summaryDeployment">
322        <table py:if="deployments">
323                <tr>
324                <td class="headingblock">
325                <table><tr><td><h3>Deployments - summary</h3></td>
326                    <td align="right">
327                <span py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navPlus)" strip=""/>
328                </td></tr>
329                        </table>
330            </td></tr>
331                        <tr><td>
332                        <table id="deploymentsTable">
333                                <tr>
334                                <td class="cellhead">Activities</td>
335                                <td>
336                                        <span py:for="act in c.atom.allActivities" py:strip="">
337                                                <a href="$act.href">${act.title or act.href}</a>&nbsp;&nbsp; 
338                                        </span>
339                                </td>                   
340                                </tr>
341                                <tr><td class="cellhead">Observation Stations</td>
342                                <td>
343                                        <span py:for="obs in c.atom.allObs" py:strip="">
344                                                <a href="$obs.href">${obs.title or obs.href}</a>&nbsp;&nbsp; 
345                                        </span>
346                                </td>                   
347                                </tr>
348                                <tr><td class="cellhead">Data Production tools</td>
349                                <td>
350                                        <span py:for="dpt in c.atom.allDpts" py:strip="">
351                                                <a href="$dpt.href">${dpt.title or dpt.href}</a>&nbsp;&nbsp; 
352                                        </span>
353                                </td>                   
354                                </tr>
355                        </table></td></tr>
356                </table>
357        </div>
358   
359    <div class="headingblock hidden" py:def="FullDeployments(deployments)" id="fullDeployment">
360        <table py:if="deployments">
361        <tr><td class="headingblock" >
362            <table><tr><td><h3>Deployments - details</h3></td>
363            <td align="right">
364            <span py:if="deployments" py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navMinus)" strip=""/>
365            </td></tr></table>
366        </td></tr>
367        <tr>
368                <table class="subTable">
369                                <div py:for="deployment in deployments" py:strip="">
370                                <div py:replace="FullDeployment(deployment)"/>
371                        </div>
372                </table></tr>
373                </table>
374        </div>
375   
376    <div class="headingblock" py:def="DataEntities(des)">
377        <table py:if="des">
378        <tr><td class="headingblock" >
379            <table><tr><td><h3>Associated Data Entities - summary</h3></td>
380                        </tr></table>
381        </td></tr>
382        <tr>
383                <table class="subTable">
384                                <tr><td class="cellhead">Title</td></tr>
385                                <tr py:for="de in des">
386                                <td><a href="$de.href">${de.title or de.href}</a></td>
387                        </tr>
388                </table></tr>
389                </table>
390        </div>
391       
392    <div py:def="FullDeployment(dep)" py:strip="">
393                <tr class="cellhead" colspan="2"><td> Start Date: $dep.startDate, End Date: $dep.endDate</td></tr>
394        <tr py:for="link in dep.getAllLinks()" >
395        <?python
396                rel=link.rel.upper()
397                if rel.startswith(g.vtd.ACTIVITY_TERM):
398                                rel = "Activity"
399                elif rel.startswith(g.vtd.OBS_TERM):
400                                rel = "Observation Station"
401                elif rel.startswith(g.vtd.DPT_TERM):
402                                rel = "Data Production Tool"
403        ?>
404        <td>$rel</td><td><a href="$link.href">${link.title or link.href}</a></td>
405        </tr>
406    </div>
407
408
409    <span py:def="expandHideSection(div1,div2,icon)">
410            <a href="javascript:;" title="Show/Hide details" 
411                onclick="swapLayers('$div1', '$div2'); return false;">
412            <img src="$icon" alt="Toggle expand/contract" class="helpicon"/></a>
413    </span>
414
415    <div class="metadataSection" py:def="OnlineReferences(links, editLink)">
416        <?python       
417                                divID = 'onlineRefDiv'
418                                edID = divID+'ed'
419                ?>
420                <table py:if="links or editLink">
421            <tr><td class="linehead">
422                    <table>
423                        <tr><td>Online References</td>
424                            <span py:if="editLink" py:strip="">
425                                <td align="right">
426                                        <span class="txtBlktog">
427                                        <a href="javascript:;" title="Toggle Form" 
428                                             onclick="swapLayers('$divID', '$edID'); return false;">
429                                        Add/Edit</a>
430                                        </span>
431                                    </td>
432                            </span>
433                                        </tr>
434                                </table>
435                                </td>
436                        </tr>
437            <tr><td>
438                <div id = "$divID">
439                                <div py:if="links" py:replace="OnlineRefEditTable(links, None)"/>
440                        <span py:if="not links" py:strip="">No data specified at present</span>
441                        </div>
442                        </td></tr>
443                <tr py:if="editLink"><td>
444                        <div id="$edID" class="hidden">
445                                <div py:replace="OnlineRefEditTable(links, editLink)"/>
446                        </div>
447                        </td></tr>
448                        <tr><td>
449            </td></tr>
450        </table>
451    </div>
452
453
454        <div py:def="OnlineRefEditTable(links, editLink)">
455                <form action="${editLink}" method="post">
456                        <?python
457                                from ndgUtils.models.Atom import Atom as a
458                                refLabel = a.ONLINE_REF_LABEL + "."
459                                remLabel = "." + a.REMOVE_LABEL
460                                extraRows = 3
461                        ?>
462            <table>
463                <tr>
464                                <th align="left">Relation</th>
465                        <th py:if="editLink" align="left">URI</th>
466                        <th align="left">Title</th>
467                        <th py:if="links and editLink" align="center">Remove</th>
468                </tr>
469                    <tr py:for="i, link in enumerate(links)">
470                            <?python
471                        # get the default display value type
472                        try:
473                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
474                                displayType = vti.title or link.rel
475                        except:
476                                displayType = link.rel
477                            ?>
478                        <td>
479                                                <span py:if="editLink" py:strip="">
480                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkSelectedLists[str(link)]))}
481                                                </span>
482                                        <span py:if="not editLink" py:strip="">
483                                        ${Markup(displayType)}
484                                                </span>
485                        </td>
486                        <td py:if="editLink">
487                                    ${Markup(h.text_field(refLabel + str(i) + '.href', link.href))}
488                                        </td>
489                        <td>
490                                                <span py:if="editLink" py:strip="">
491                                            ${Markup(h.text_field(refLabel + str(i) + '.title', link.title))}
492                                                </span>
493                                        <span py:if="not editLink" py:strip="">
494                                                <a href="${link.href}">${Markup(link.title or link.href)}</a>
495                                                </span>
496                        </td>
497                        <td py:if="editLink" align="center">
498                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
499                        </td>
500                                </tr>
501                    <tr py:if="editLink" py:for="i in range(len(links), len(links) + extraRows)">
502                        <td>
503                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkTerms))}
504                        </td>
505                        <td>
506                                    ${Markup(h.text_field(refLabel + str(i) + '.href'))}
507                        </td>
508                        <td>
509                                    ${Markup(h.text_field(refLabel + str(i) + '.title'))}
510                        </td>
511                        <td py:if="links" />
512                                </tr>
513                        <tr py:if="editLink"><td>
514                    ${Markup(h.submit(value="Update"))}
515                </td></tr>
516                        </table>
517                </form>
518        </div>
519   
520
521    <div class="metadataSection" py:def="Associations(sectionName, links, addLink, editLink)">
522        <?python       
523                                divID = sectionName + 'Div'
524                                edID = divID+'ed'
525                ?>
526                <table py:if="links or editLink">
527            <tr><td class="linehead">
528                    <table>
529                        <tr><td>${sectionName}</td>
530                            <span py:if="addLink" py:strip="">
531                                <td align="right">
532                                        <span class="txtBlktog">
533                                        <a href="$addLink">Add</a>
534                                        <a py:if="links" href="javascript:;" title="Toggle Form" 
535                                             onclick="swapLayers('$divID', '$edID'); return false;">
536                                        Edit</a>
537                                        </span>
538                                    </td>
539                            </span>
540                                        </tr>
541                                </table>
542                                </td>
543                        </tr>
544            <tr><td>
545                <div id = "$divID">
546                                <div py:replace="AssociationsTable(links, None)"/>
547                        </div>
548                        </td></tr>
549                <tr py:if="editLink"><td>
550                        <div id="$edID" class="hidden">
551                                <div py:replace="AssociationsTable(links, editLink)"/>
552                        </div>
553                        </td></tr>
554                        <tr><td>
555            </td></tr>
556        </table>
557    </div>
558
559
560        <div py:def="AssociationsTable(links, editLink)">
561                <form py:if="links" action="${editLink}" method="post">
562                <?python c.isDeployment = False ?>
563            <table>
564                <tr>
565                                <th align="left">Type</th>
566                        <th align="left">Title</th>
567                        <th py:if="editLink and links" align="center">Remove</th>
568                </tr>
569                                <?python
570                                        from ndgUtils.models.Atom import Atom as a
571                                        delim = a.DELIMITER
572                                        refLabel = a.ATOM_REF_LABEL + delim
573                                ?>
574                    <tr py:for="i, link in enumerate(links)">
575                            <?python
576                        # get the default display value
577                        displayVal = link.title or link.href
578                        try:
579                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
580                                subType = g.vtd.tidySubTypeTitle(vti.title)
581                        except:
582                                subType = link.rel
583
584                        inputLabel = refLabel + link.href + delim + (link.title or "") + delim + link.rel
585                        if subType == 'Deployment':
586                                c.isDeployment = True
587                            ?>
588                            <td>${subType}</td>
589                            <td><a href="$link.href">${displayVal}</a></td>
590                        <td py:if="editLink and links" align="center">
591                                ${Markup(h.check_box(inputLabel))}
592                        </td>
593                                </tr>
594                        <tr py:if="editLink and links"><td></td><td></td><td align="center">
595                    ${Markup(h.submit(value="Remove"))}
596                        </td></tr>
597                        </table>
598                </form>
599                <table py:if="not links"><tr><td>
600                        No data specified at present
601                </td></tr>
602                </table>
603        </div>
604
605
606    <div py:def="FullParameterList(params, editLink, visibility)">
607            <div class="metadataSection ${visibility}" id="fullParams">
608        <?python       
609                                divID = 'parametersDiv'
610                                edID = divID+'ed'
611                ?>
612        <table py:if="params or editLink">
613            <tr><td class="linehead">
614            <table>
615                    <tr><td>Parameters - details</td>
616                <td align="right">
617                <a py:if="editLink" href="javascript:;" title="Toggle Form" 
618                             onclick="swapLayers('$divID', '$edID'); return false;">
619                        Add/Edit</a>
620                    <span py:if="not editLink" py:replace="expandHideSection('fullParams','summaryParams',g.navMinus)" strip=""/>
621            </td></tr></table></td></tr>
622            <tr><td>
623                <div id = "$divID">
624                            <div py:replace="ParametersTable(params, None)"/>
625                        </div>
626                        </td></tr>
627                <tr py:if="editLink"><td>
628                        <div id="$edID" class="hidden">
629                            <div py:replace="ParametersTable(params, editLink)"/>
630                        </div>
631                        </td></tr>
632
633        </table>
634        </div>
635    </div>
636
637
638    <div class="metadataSection" py:def="ParametersTable(params, editLink)" id="fullParams">
639                <form action="${editLink}" method="post">
640                        <?python
641                                from ndgUtils.models.Atom import Atom as a
642                                refLabel = a.PARAMETER_LABEL + "."
643                                remLabel = "." + a.REMOVE_LABEL
644                                extraRows = 3
645                        ?>
646                <table class="subTable">
647                <tr py:if="params or editLink" class="cellhead">
648                                <th align="left">Label</th>
649                                <th align="left">Vocab Term URL</th>
650                        <th align="left">Vocab Term ID</th>
651                                <th py:if="params and editLink" align="center">Remove</th>
652                        </tr>
653                                <tr py:if="not editLink and not params">
654                                <td colspan="3">No data specified at present</td>
655                </tr>
656                    <tr py:for="i, param in enumerate(params)">
657                        <td>
658                                                <span py:if="editLink" py:strip="">
659                                            ${Markup(h.text_field(refLabel + str(i) + '.label', param.label, class_="fullWidth"))}
660                                                </span>
661                                        <span py:if="not editLink" py:strip="">
662                                                ${param.label}
663                                                </span>
664                        </td>
665                        <td>
666                                                <span py:if="editLink" py:strip="">
667                                            ${Markup(h.text_field(refLabel + str(i) + '.scheme', param.scheme, class_="fullWidth"))}
668                                                </span>
669                                        <span py:if="not editLink" py:strip="">
670                                                ${param.scheme}
671                                                </span>
672                                        </td>
673                        <td>
674                                                <span py:if="editLink" py:strip="">
675                                            ${Markup(h.text_field(refLabel + str(i) + '.term', param.term, class_="fullWidth"))}
676                                                </span>
677                                        <span py:if="not editLink" py:strip="">
678                                                ${param.term}
679                                                </span>
680                        </td>
681                        <td py:if="editLink" align="center">
682                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
683                        </td>
684                                </tr>
685                    <tr py:if="editLink" py:for="i in range(len(params), len(params) + extraRows)">
686                        <td>
687                                        ${Markup(h.text_field(refLabel + str(i) + '.label', class_="fullWidth"))}
688                        </td>
689                        <td>
690                                    ${Markup(h.text_field(refLabel + str(i) + '.scheme', class_="fullWidth"))}
691                        </td>
692                        <td>
693                                    ${Markup(h.text_field(refLabel + str(i) + '.term', class_="fullWidth"))}
694                        </td>
695                        <td py:if="params" />
696                                </tr>
697                        <tr py:if="editLink"><td>
698                    ${Markup(h.submit(value="Update"))}
699                </td></tr>
700                        </table>
701                </form>
702    </div>
703
704
705    <div py:def="SummaryParameterList(params)" id="summaryParams" class="metadataSection shown">
706        <table py:if="params">
707            <tr><td class="linehead">
708            <table><tr><td>Parameters - summary</td>
709            <td align="right">
710            <span py:replace="expandHideSection('fullParams','summaryParams',g.navPlus)" strip=""/>
711            </td></tr></table></td></tr>
712            <tr>
713            <table class="subTable">
714                <?python
715                        fullLength = len(list(params))
716                        colNumber = 4
717                ?>
718                        <span py:for="index, param in enumerate(params)" py:strip="">
719                                <tr class="summaryText">
720                                 <span py:if="not index%colNumber" py:strip="">
721                                 <span py:for="i in range(colNumber)" py:strip="">
722                                        <td py:if="index &lt; fullLength - i">${params[index + i].label or params[index + i].term or params[index + i].scheme}</td>
723                                 </span>
724                                 </span>
725                                        </tr>
726                        </span>
727            </table>
728            </tr>
729        </table>
730    </div>
731   
732    <div class="metadataSection" py:def="Coverage(editLink)">
733        <?python       
734                                divID = 'spatialtemporalDiv'
735                                edID = divID+'ed'
736                ?>
737        <table>
738            <tr><td class="linehead" colspan="2">
739                    <table>
740                        <tr><td>Data Coverage</td>
741                            <span py:if="editLink" py:strip="">
742                                <td align="right">
743                                        <span class="txtBlktog">
744                                        <a href="javascript:;" title="Toggle Form" 
745                                             onclick="swapLayers('$divID', '$edID'); return false;">
746                                        Add/Edit</a>
747                                        </span>
748                                    </td>
749                            </span>
750                                        </tr>
751                                </table>
752                                </td>
753                        </tr>
754            <tr>
755                <td>
756                <div id="$divID">
757                        <table><tr>
758                        <td><div py:replace="Spatial(None)"/></td>
759                        <td><div py:replace="Temporal(None)"/></td>
760                    </tr></table>
761                </div>
762                </td>
763            </tr>
764            <span py:if="editLink" py:strip="">
765                                <form action="${editLink}" method="post">
766                <tr>
767                        <td>
768                        <div id="$edID" class="hidden">
769                                <table><tr>
770                                <td><div py:replace="Spatial(editLink)"/></td>
771                            <td><div py:replace="Temporal(editLink)"/></td>
772                            </tr>
773                            <tr><td>
774                                 ${Markup(h.submit(value="Update"))}
775                                 </td></tr>
776                            </table>
777                        </div>
778                    </td>
779                    </tr>
780                                </form>
781                        </span>
782        </table>
783    </div>
784
785    <div py:def="Temporal(editLink)" py:strip="">
786                <table><tr><td class="cellhead">Temporal coverage</td>
787                        <td py:if="editLink">(e.g. 1975-04-28)</td></tr>
788            <span py:if="c.atom.t1 or c.atom.t2 or editLink" py:strip="">
789                                <tr><td>Start Date:</td>
790                                <td>
791                                <span py:if="editLink" py:strip="">
792                                ${Markup(h.text_field('t1', c.atom.t1))}
793                                </span>
794                        <span py:if="not editLink" py:strip="">
795                        ${c.atom.t1}
796                                </span>
797                                </td></tr>
798                                <tr><td>End Date:</td>
799                                <td>
800                                <span py:if="editLink" py:strip="">
801                                ${Markup(h.text_field('t2', c.atom.t2))}
802                                </span>
803                        <span py:if="not editLink" py:strip="">
804                        ${c.atom.t2}
805                                </span>
806                                </td></tr>
807            </span>
808            <span py:if="not c.atom.t1 and not c.atom.t2 and not editLink" py:strip="">
809                                <tr><td colspan="2">No temporal information available.</td></tr>
810                        </span>
811        </table>
812    </div>
813                           
814    <div py:def="Spatial(editLink)" py:strip="">
815        <table>
816            <tr><td colspan="2" class="cellhead">Spatial coverage</td></tr>
817            <span py:if="not c.atom.minX and not c.atom.minY and not c.atom.maxX and not c.atom.maxY and not editLink" py:strip="">
818                    <tr><td colspan="2">No spatial coverage information available.</td></tr>
819                </span>
820            <span py:if="c.atom.minX or c.atom.minY or c.atom.maxX or c.atom.maxY or editLink" py:strip="">
821                                <tr>
822                                <td colspan="2" align="center">
823                                <span py:if="editLink" py:strip="">
824                                <span class="cellhead">Max Y</span> ${Markup(h.text_field('maxY', c.atom.maxY))}
825                                </span>
826                        <span py:if="not editLink" py:strip="">
827                        <span class="cellhead">Max Y</span> ${c.atom.maxY}
828                                </span>
829                                </td></tr>
830                        <tr><td align="center">
831                                <span py:if="editLink" py:strip="">
832                                <span class="cellhead">Min X</span> ${Markup(h.text_field('minX', c.atom.minX))}
833                                </span>
834                        <span py:if="not editLink" py:strip="">
835                        <span class="cellhead">Min X</span> ${c.atom.minX}
836                                </span>
837                        </td><td align="center">
838                                <span py:if="editLink" py:strip="">
839                                <span class="cellhead">Max X</span> ${Markup(h.text_field('maxX', c.atom.maxX))}
840                                </span>
841                        <span py:if="not editLink" py:strip="">
842                        <span class="cellhead">Max X</span> ${c.atom.maxX}
843                                </span>
844                        </td></tr>
845                        <tr><td colspan="2" align="center">
846                                <span py:if="editLink" py:strip="">
847                                <span class="cellhead">Min Y</span> ${Markup(h.text_field('minY', c.atom.minY))}
848                                </span>
849                        <span py:if="not editLink" py:strip="">
850                        <span class="cellhead">Min Y</span> ${c.atom.minY}
851                                </span>
852                        </td></tr>
853                </span>
854        </table> 
855    </div>
856   
857       
858    <div py:def="Services()" id="ServiceList">
859        <table cellspacing="0" cellpadding="3" width="100%" border="0"><tbody>
860            <tr><td class="linehead" colspan="3"><span class="headingO">Links and Services</span></td></tr>
861            <tr py:if="c.atom.ndgObject is not None">
862                    <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.xmlURL,g.icons_xml,'[XML]')"/></td>
863                <td>Downloadable XML version of this record
864                    <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
865                (Original <span py:replace="linkimage(c.atom.ndgObject.xmlURL+'&amp;outputSchema=original',g.icons_xml,'[XML]')"/>)
866                    </span></td>
867                </tr>
868            <tr py:if="c.atom.ndgObject is not None">
869                <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.printableURL,g.icons_prn,'[HTML]')"/></td>
870                    <td>Viewable XML version of this record
871                 <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
872                    (Original <span py:replace="linkimage(c.atom.ndgObject.printableURL+'&amp;outputSchema=original',g.icons_prn,'[HTML]')"/>)
873                </span></td>
874            </tr>
875            <tr py:if="c.atom.ndgObject.gettable==1"><td></td><td>(Original records are the raw material harvested from data providers)</td></tr>
876        </tbody></table>
877    </div>
878   
879</html>
Note: See TracBrowser for help on using the repository browser.