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

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

Small tidyups of editor look and feel.

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 or 'None'}, End Date: ${dep.endDate or 'None'}</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.