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

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

Add a new 'Other' section for data entities - to allow specification of
dataset language and update frequency + extend the spatiotemporal
section to inlclude vertical extent and spatial resolution inputs.

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        <b>Note: if errors have been encountered whilst inputting data, it is likely
19        that this data will have not been saved.  If the errors related directly to the
20        input data please correct them and retry.</b>
21    </div>
22
23   
24    <div py:def="UploadCSMLOrCDMLFileRows(editLink)">
25      <tr>
26      <td class="cellhead">
27          CSML or CDML file:
28                <span py:replace="helpIcon('cdmlOrcsml_help', 'tr')"/>
29          </td>
30          <td>
31                  ${Markup(h.file_field('CSMLOrCDML', size="80"))}
32          </td>
33          </tr>
34      <tr id="cdmlOrcsml_help" class="hidden" >
35              <td class="helptxt" colspan="2">$g.csml_or_csml</td>
36          </tr>                 
37          <tr>
38      <td class="cellhead">
39          Dataset ID:
40                <span py:replace="helpIcon('datasetID_help', 'tr')"/>
41          </td>
42          <td>
43                  ${Markup(h.text_field('granuleDatasetID', size="80"))}
44          </td>
45          </tr>
46          <tr id="datasetID_help" class="hidden" >
47             <td class="helptxt" colspan="2">$g.granulite_dataset_id</td>
48          </tr>                 
49          <tr>
50      <td class="cellhead">
51          Time axis:
52                <span py:replace="helpIcon('timeAxis_help', 'tr')"/>
53          </td>
54          <td>
55                  ${Markup(h.text_field('timeAxis', size="80"))}
56          </td>
57          </tr>
58            <tr id="timeAxis_help" class="hidden" >
59                       <td class="helptxt" colspan="2">$g.granulite_time</td>
60                  </tr>                 
61      <tr>
62      <td />
63      <td colspan="2">
64                ${Markup(h.submit('Upload', **{'onclick': 'Div_show("loading");'}))}
65      </td>
66      </tr>
67        </div>
68
69   
70    <div py:def="UploadCSMLOrCDMLFileForm(editLink)">
71        <div class="headingblock" py:if="editLink">
72                ${Markup(h.form(h.url(controller='atom_editor/editatom', action='upload', uri = c.uri), multipart=True))}
73                <table>
74                        <tr>
75                                <td class="linehead" colspan="2">
76                                Upload data<span py:if="editLink" py:replace="helpIcon('upload_help', 'tr')"/>
77                            </td>
78                                <tr id="upload_help" class="hidden" >
79                                        <td class="helptxt" colspan="2">$g.upload_help</td>
80                                        </tr>                   
81                        </tr>
82                        <div py:replace="UploadCSMLOrCDMLFileRows(editLink)"/>
83                        </table>
84                        ${Markup(h.end_form())}
85                </div>
86        </div>
87
88   
89    <div py:def="UploadFile(title, fileType, editLink)">
90        <div class="headingblock" py:if="editLink">
91        ${Markup(h.form(h.url(controller='atom_editor/editatom', action='upload', uri = c.uri), multipart=True))}
92        <table>
93                              <tr>
94                              <td class="cellhead">
95                              ${Markup(title)}
96                                  </td>
97                                  </tr>
98                                  <tr>
99                                  <td></td>
100                                  <td>
101                                          ${Markup(h.file_field('upload_' + fileType, size="80"))}
102                                  </td>
103                                  </tr>
104                              <tr>
105                              <td />
106                              <td colspan="2">
107                        ${Markup(h.submit('Upload', **{'onclick': 'Div_show("loading");'}))}
108                              </td>
109                              </tr>
110        </table>
111                ${Markup(h.end_form())}
112                </div>
113        </div>
114
115   
116    <div class="metadataSection" py:def="ContentFile(fileName, editLink)">
117        <?python       
118                                divID = 'contentFileDiv'
119                                edID=divID+'ed'
120                ?>
121        <table>
122            <tr><td class="linehead">
123                    <table>
124                        <tr><td>Content File</td>
125                            <span py:if="editLink" py:strip="">
126                                <td align="right">
127                                        <span class="txtBlktog">
128                                        <a href="javascript:;" title="Toggle Form" 
129                                             onclick="swapLayers('$divID', '$edID'); return false;">
130                                        Add/Edit</a>
131                                        </span>
132                                    </td>
133                            </span>
134                                        </tr>
135                                </table>
136            </td></tr>
137            <tr><td>
138                <div id = "$divID">
139                                <div py:replace="ContentFileTable(fileName, None)"/>
140                        </div>
141                        </td></tr>
142                <tr py:if="editLink"><td>
143                        <div id="$edID" class="hidden">
144                                <div py:replace="ContentFileTable(fileName, editLink)"/>
145                        </div>
146                        </td></tr>
147        </table>
148        </div>
149
150
151        <div py:def="ContentFileTable(fileName, editLink)">
152                <form action="${editLink}" method="post">
153            <table>
154                <tr py:if="not editLink and not fileName">
155                                <td colspan="3">No data specified at present</td>
156                        </tr>
157                        <tr py:if="editLink or fileName">
158                                <td class="cellhead">File name:</td>
159                        <td py:if="editLink">
160                                    ${Markup(h.text_field('contentFile', fileName))}
161                                        </td>
162                        <td py:if="not editLink">
163                        ${Markup(fileName)}
164                                </td>
165                                <td py:if="editLink">
166                                ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
167                                </td>
168                </tr>
169                        </table>
170                </form>
171        </div>
172
173    <div class="headingblock" py:def="GeneralInfo(editLink)">
174                <h4>General Info</h4>
175                <form action="${c.saveLink}" method="post">
176                        <table summary="" width="100%">
177                        <tr>
178                        <td class="cellhead" width="10%">Title:</td>
179                        <td py:if="editLink" class="column">
180                                ${Markup(h.text_field('title',c.atom.title, size="120"))}
181                        </td>
182                        <td py:if="not editLink" class="column">
183                                ${Markup(c.atom.title)}
184                        </td>
185                        <?python logos = c.atom.getLogos() ?>
186                        <td py:if="logos">
187                   <img py:for="logo in logos" 
188                        alt="$logo.rel" 
189                        src="$logo.href" class="clear"/>
190                </td>
191                            </tr>
192                            <tr py:if="not editLink">
193                                <td class="cellhead">Type:</td>
194                                <td class="column">
195                                        ${Markup(c.atom.atomTypeName)}
196                                </td>
197                        </tr>
198                            <span py:if="not c.atom.isGranule()" py:strip="">
199                                    <tr>
200                                        <td class="cellhead">Sub-Type:</td>
201                                        <td py:if="not c.atom.isDeployment() and editLink" class="column">
202                                                ${Markup(h.select('subtype',option_tags=c.subTypes))}
203                                        </td>
204                                        <td py:if="c.atom.isDeployment() or not editLink" class="column">
205                                                ${c.atom.getSubTypePrettyName()}
206                                        </td>
207                                </tr>
208                                <tr py:if="not c.atom.isDeployment()">
209                                        <td class="cellhead" width="10%">Abbreviation:</td>
210                                        <td py:if="editLink" class="column">
211                                                ${Markup(h.text_field('abbreviation',c.atom.ME.abbreviation))}
212                                        </td>
213                                        <td py:if="not editLink" class="column">
214                                                ${Markup(c.atom.ME.abbreviation or "")}
215                                        </td>
216                                    </tr>
217                            </span>
218                            <tr>
219                                <td class="cellhead">Publication State:<span py:if="editLink" py:replace="helpIcon('pubState_help', 'tr')"/>
220                                </td>
221                                <td py:if="editLink" class="column">
222                                        ${Markup(h.select('publication_state',option_tags=c.states))}
223                                </td>
224                                <td py:if="not editLink" class="column">
225                                        ${Markup(c.atom.state.title)}
226                                </td>
227                        </tr>
228                            <tr id="pubState_help" class="hidden" >
229                                      <td class="helptxt" colspan="2">$g.atom_state</td>
230                                </tr>                   
231                         <tr>
232                        <td></td>
233                        <td py:if="editLink">
234                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
235                        </td>
236                </tr></table>
237        </form>
238        </div>
239
240   
241    <div class="metadataSection" py:def="People(ptype,listOfPeople,editLink,helpText)">
242        <?python       
243                                divID = ptype + 'peopleDiv'
244                                edID=divID+'ed'
245                                helpID = divID + '_help'
246                ?>
247        <table py:if="listOfPeople or editLink">
248            <tr><td class="linehead">
249                    <table>
250                        <tr><td>$ptype<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
251                            <span py:if="editLink" py:strip="">
252                                <td align="right">
253                                        <span class="txtBlktog">
254                                        <a href="javascript:;" title="Toggle Form" 
255                                             onclick="swapLayers('$divID', '$edID'); return false;">
256                                        Add/Edit</a>
257                                        </span>
258                                    </td>
259                            </span>
260                                        </tr>
261                                <tr id="$helpID" class="hidden" >
262                                        <td class="helptxt" colspan="2">$helpText</td>
263                                        </tr>                   
264                                </table>
265            </td></tr>
266            <tr><td>
267                <div id = "$divID">
268                                <div py:replace="PeopleTable(listOfPeople, ptype, None)"/>
269                        </div>
270                        </td></tr>
271                <tr py:if="editLink"><td>
272                        <div id="$edID" class="hidden">
273                                <div py:replace="PeopleTable(listOfPeople, ptype, editLink)"/>
274                        </div>
275                        </td></tr>
276        </table>
277    </div>
278
279        <div py:def="PeopleTable(listOfPeople, ptype, editLink)">
280                <form action="${editLink}" method="post">
281            <table>
282                <tr>
283                        <?python
284                                hasRole = False
285                                dataType = 'email'
286                                if ptype == "Responsible Parties":
287                                        hasRole = True
288                                        dataType = 'URI'
289                                               
290                                extraRows = 3
291                                if ptype == "Author":
292                                        extraRows = 0
293
294                                hasData = False
295                                for person in listOfPeople:
296                                        if person and person.hasValue():
297                                                hasData = True
298                        ?>
299                        <span py:if="not editLink and not hasData" py:strip="">
300                                <td colspan="3">No data specified at present</td>
301                        </span>
302                        <span py:if="editLink or hasData" py:strip="">
303                                <th py:if="hasRole" align="left">Role</th>
304                                <th align="left">Name</th>
305                                <th align="left">${dataType}</th>
306                        </span>
307                        <span py:if="editLink and hasData and extraRows" py:strip="">
308                                <th align="center">Remove</th>
309                        </span>
310                </tr>
311                    <tr py:for="i, person in enumerate(listOfPeople)">
312                        <span py:if="hasRole" py:strip="">
313                                <td py:if="editLink">
314                                            ${Markup(h.text_field(ptype + '.' + str(i) + '.role',person.role))}
315                                        </td>
316                        <td py:if="not editLink">
317                                $person.role
318                                </td>
319                        </span>
320                        <td>
321                        <span py:if="editLink" py:strip="">
322                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name',person.name, size="80"))}
323                                </span>
324                        <span py:if="not editLink" py:strip="">
325                                $person.name
326                                </span>
327                        </td>
328                        <td>
329                        <span py:if="editLink" py:strip="">
330                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri',person.uri))}
331                                </span>
332                        <span py:if="not editLink" py:strip="">
333                                <a href="$person.uri">$person.uri</a>
334                                </span>
335                        </td>
336                        <span py:if="editLink and hasData and extraRows" py:strip="">
337                                <td align="center">
338                                        ${Markup(h.check_box(ptype + '.' + str(i) + '.remove'))}
339                                </td>
340                        </span>
341                                </tr>
342                                <!--! Add a few more rows when in edit mode  -->
343                        <span py:if="editLink" py:strip="">
344                    <tr py:for="i in range(len(listOfPeople), len(listOfPeople) + extraRows)">
345                        <td py:if="hasRole">
346                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.role'))}
347                        </td>
348                        <td>
349                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.name'))}
350                        </td>
351                        <td>
352                                    ${Markup(h.text_field(ptype + '.' + str(i) + '.uri'))}
353                        </td>
354                        <span py:if="editLink" py:strip=""><td></td></span>
355                                </tr>
356                       
357                                <tr><td>
358                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
359                      </td></tr>
360                                </span>
361                        </table>
362                </form>
363        </div>
364       
365   
366    <div class="headingblock" py:def="SummaryDeployments(deployments)" id="summaryDeployment">
367        <table py:if="deployments">
368                <tr>
369                <td class="headingblock">
370                <table><tr><td><h3>Associated Deployments Data - summary</h3></td>
371                    <td align="right">
372                <span py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navPlus)" strip=""/>
373                </td></tr>
374                        </table>
375            </td></tr>
376                        <tr><td>
377                        <table id="deploymentsTable">
378                                <tr>
379                                <td class="cellhead">Activities</td>
380                                <td>
381                        <span py:replace="outputAtomLinks(c.atom.allActivities)" strip=""/>
382                                </td>                   
383                                </tr>
384                                <tr><td class="cellhead">Observation Stations</td>
385                                <td>
386                        <span py:replace="outputAtomLinks(c.atom.allObs)" strip=""/>
387                                </td>                   
388                                </tr>
389                                <tr><td class="cellhead">Data Production tools</td>
390                                <td>
391                        <span py:replace="outputAtomLinks(c.atom.allDpts)" strip=""/>
392                                </td>                   
393                                </tr>
394                        </table></td></tr>
395                </table>
396        </div>
397
398        <div py:def="outputAtomLinks(links)" py:strip="">
399                <span py:for="link in links" py:strip="">
400                        <a href="$link.href">${link.title or link.href}</a>&nbsp;&nbsp; 
401                </span>
402                <span py:if="not links" py:strip="">None</span>
403        </div>
404
405   
406    <div class="headingblock hidden" py:def="FullDeployments(deployments)" id="fullDeployment">
407        <table py:if="deployments">
408        <tr><td class="headingblock" >
409            <table><tr><td><h3>Associated Deployments Data - details</h3></td>
410            <td align="right">
411            <span py:if="deployments" py:replace="expandHideSection('fullDeployment','summaryDeployment',g.navMinus)" strip=""/>
412            </td></tr></table>
413        </td></tr>
414        <tr>
415                <table class="subTable">
416                                <div py:for="deployment in deployments" py:strip="">
417                                <div py:replace="FullDeployment(deployment)"/>
418                        </div>
419                </table></tr>
420                </table>
421        </div>
422   
423    <div class="headingblock" py:def="DataEntities(des)">
424        <table py:if="des">
425        <tr><td class="headingblock" >
426            <table><tr><td><h3>Associated Data Entities - summary</h3></td>
427                        </tr></table>
428        </td></tr>
429        <tr>
430                <table class="subTable">
431                                <tr><td class="cellhead">Title</td></tr>
432                                <tr py:for="de in des">
433                                <td><a href="$de.href">${de.title or de.href}</a></td>
434                        </tr>
435                </table></tr>
436                </table>
437        </div>
438       
439    <div py:def="FullDeployment(dep)" py:strip="">
440                <tr class="cellhead" colspan="2">
441                <td>Title: <a href="${dep.browseURL}">${dep.title}</a></td>
442                </tr>           
443                <tr class="cellhead" colspan="2">
444                <td>Start Date: ${dep.startDate or 'None'}, End Date: ${dep.endDate or 'None'}</td></tr>
445        <tr py:for="link in dep.getAllLinks()" >
446        <?python
447                rel=link.rel.upper()
448                if rel.startswith(g.vtd.ACTIVITY_TERM):
449                                rel = "Activity"
450                elif rel.startswith(g.vtd.OBS_TERM):
451                                rel = "Observation Station"
452                elif rel.startswith(g.vtd.DPT_TERM):
453                                rel = "Data Production Tool"
454        ?>
455        <td>$rel</td><td><a href="$link.href">${link.title or link.href}</a></td>
456        </tr>
457    </div>
458
459    <div class="metadataSection" py:def="OnlineReferences(links, editLink)">
460        <?python       
461                                divID = 'onlineRefDiv'
462                                edID = divID+'ed'
463                                helpID = divID + '_help'
464                ?>
465                <table py:if="links or editLink">
466            <tr><td class="linehead">
467                    <table>
468                        <tr><td>Online References<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
469                            <span py:if="editLink" py:strip="">
470                                <td align="right">
471                                        <span class="txtBlktog">
472                                        <a href="javascript:;" title="Toggle Form" 
473                                             onclick="swapLayers('$divID', '$edID'); return false;">
474                                        Add/Edit</a>
475                                        </span>
476                                    </td>
477                            </span>
478                                        </tr>
479                                <tr id="$helpID" class="hidden" >
480                                        <td class="helptxt" colspan="2">$g.atom_online_refs</td>
481                                        </tr>                   
482                                </table>
483                                </td>
484                        </tr>
485            <tr><td>
486                <div id = "$divID">
487                                <div py:if="links" py:replace="OnlineRefEditTable(links, None)"/>
488                        <span py:if="not links" py:strip="">No data specified at present</span>
489                        </div>
490                        </td></tr>
491                <tr py:if="editLink"><td>
492                        <div id="$edID" class="hidden">
493                                <div py:replace="OnlineRefEditTable(links, editLink)"/>
494                        </div>
495                        </td></tr>
496                        <tr><td>
497            </td></tr>
498        </table>
499    </div>
500
501
502        <div py:def="OnlineRefEditTable(links, editLink)">
503                <form action="${editLink}" method="post">
504                        <?python
505                                from ndg.common.src.models.Atom import Atom as a
506                                import urllib
507                                refLabel = a.ONLINE_REF_LABEL + "."
508                                remLabel = "." + a.REMOVE_LABEL
509                                extraRows = 3
510                        ?>
511            <table>
512                <tr>
513                                <th align="left">Relation</th>
514                        <th py:if="editLink" align="left">URI</th>
515                        <th align="left">Title</th>
516                        <th py:if="links and editLink" align="center">Remove</th>
517                </tr>
518                    <tr py:for="i, link in enumerate(links)">
519                            <?python
520                        # unescape the urls
521                        link.href = urllib.unquote(link.href)
522                        # get the default display value type
523                        try:
524                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
525                                displayType = vti.title or link.rel
526                        except:
527                                displayType = link.rel
528                            ?>
529                        <td>
530                                                <span py:if="editLink" py:strip="">
531                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkTerms))}
532                                                </span>
533                                        <span py:if="not editLink" py:strip="">
534                                        ${Markup(displayType)}
535                                                </span>
536                        </td>
537                        <td py:if="editLink">
538                                    ${Markup(h.text_field(refLabel + str(i) + '.href', link.href))}
539                                        </td>
540                        <td>
541                                                <span py:if="editLink" py:strip="">
542                                            ${Markup(h.text_field(refLabel + str(i) + '.title', link.title))}
543                                                </span>
544                                        <span py:if="not editLink" py:strip="">
545                                                <a href="${link.href}">${Markup(link.title or link.href)}</a>
546                                                </span>
547                        </td>
548                        <td py:if="editLink" align="center">
549                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
550                        </td>
551                                </tr>
552                    <tr py:if="editLink" py:for="i in range(len(links), len(links) + extraRows)">
553                        <td>
554                                        ${Markup(h.select(refLabel + str(i) + '.rel', option_tags=c.relatedLinkTerms))}
555                        </td>
556                        <td>
557                                    ${Markup(h.text_field(refLabel + str(i) + '.href'))}
558                        </td>
559                        <td>
560                                    ${Markup(h.text_field(refLabel + str(i) + '.title'))}
561                        </td>
562                        <td py:if="links" />
563                                </tr>
564                        <tr py:if="editLink"><td>
565                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
566                </td></tr>
567                        </table>
568                </form>
569        </div>
570   
571
572    <div class="metadataSection" py:def="Associations(sectionName, links, addLink, editLink, helpText)">
573        <?python       
574                                divID = sectionName + 'Div'
575                                edID = divID+'ed'
576                                helpID = divID + '_help'
577                ?>
578                <table py:if="links or editLink">
579            <tr><td class="linehead">
580                    <table>
581                        <tr><td>${sectionName}<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
582                            <span py:if="addLink" py:strip="">
583                                <td align="right">
584                                        <span class="txtBlktog">
585                                        <a href="$addLink">Add</a>
586                                        <a py:if="links" href="javascript:;" title="Toggle Form" 
587                                             onclick="swapLayers('$divID', '$edID'); return false;">
588                                        Edit</a>
589                                        </span>
590                                    </td>
591                            </span>
592                                        </tr>
593                                <tr id="$helpID" class="hidden" >
594                                        <td class="helptxt" colspan="2">$helpText</td>
595                                        </tr>                   
596                                </table>
597                                </td>
598                        </tr>
599            <tr><td>
600                <div id = "$divID">
601                                <div py:replace="AssociationsTable(links, None)"/>
602                        </div>
603                        </td></tr>
604                <tr py:if="editLink"><td>
605                        <div id="$edID" class="hidden">
606                                <div py:replace="AssociationsTable(links, editLink)"/>
607                        </div>
608                        </td></tr>
609                        <tr><td>
610            </td></tr>
611        </table>
612    </div>
613
614
615        <div py:def="AssociationsTable(links, editLink)">
616                <form py:if="links" action="${editLink}" method="post">
617                <?python c.isDeployment = False ?>
618            <table>
619                <tr>
620                                <th align="left">Type</th>
621                        <th align="left">Title</th>
622                        <th py:if="editLink and links" align="center">Remove</th>
623                </tr>
624                                <?python
625                                        from ndg.common.src.models.Atom import Atom as a
626                                        delim = a.DELIMITER
627                                        refLabel = a.ATOM_REF_LABEL + delim
628                                ?>
629                    <tr py:for="i, link in enumerate(links)">
630                            <?python
631                        # get the default display value
632                        displayVal = link.title or link.href
633                        try:
634                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel)
635                                subType = g.vtd.tidySubTypeTitle(vti.title)
636                        except:
637                                subType = link.rel
638
639                        inputLabel = refLabel + link.href + delim + (link.title or "") + delim + link.rel
640                        if subType == 'Deployment':
641                                c.isDeployment = True
642                            ?>
643                            <td>${subType}</td>
644                            <td><a href="$link.href">${displayVal}</a></td>
645                        <td py:if="editLink and links" align="center">
646                                ${Markup(h.check_box(inputLabel))}
647                        </td>
648                                </tr>
649                        <tr py:if="editLink and links"><td></td><td></td><td align="center">
650                        ${Markup(h.submit('Remove', **{'onclick': 'Div_show("loading");'}))}
651                        </td></tr>
652                        </table>
653                </form>
654                <table py:if="not links"><tr><td>
655                        No data specified at present
656                </td></tr>
657                </table>
658        </div>
659
660
661    <div py:def="FullParameterList(params, editLink, visibility)">
662            <div class="metadataSection ${visibility}" id="fullParams">
663        <?python       
664                                divID = 'parametersDiv'
665                                edID = divID+'ed'
666                                helpID = divID + '_help'
667                ?>
668        <table py:if="params or editLink">
669            <tr><td class="linehead">
670            <table>
671                    <tr><td>Parameters - details<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
672                <td align="right">
673                <a py:if="editLink" href="javascript:;" title="Toggle Form" 
674                             onclick="swapLayers('$divID', '$edID'); return false;">
675                        Add/Edit</a>
676                    <span py:if="not editLink" py:replace="expandHideSection('fullParams','summaryParams',g.navMinus)" strip=""/>
677            </td></tr>
678                                <tr id="$helpID" class="hidden" >
679                                        <td class="helptxt" colspan="2">$g.atom_parameters</td>
680                                        </tr>                   
681            </table></td></tr>
682            <tr><td>
683                <div id = "$divID">
684                            <div py:replace="ParametersTable(params, None)"/>
685                        </div>
686                        </td></tr>
687                <tr py:if="editLink"><td>
688                        <div id="$edID" class="hidden">
689                            <div py:replace="ParametersTable(params, editLink)"/>
690                        </div>
691                        </td></tr>
692
693        </table>
694        </div>
695    </div>
696
697
698    <div class="metadataSection" py:def="ParametersTable(params, editLink)" id="fullParams">
699                <form action="${editLink}" method="post">
700                        <?python
701                                from ndg.common.src.models.Atom import Atom as a
702                                refLabel = a.PARAMETER_LABEL + "."
703                                remLabel = "." + a.REMOVE_LABEL
704                                extraRows = 3
705                        ?>
706                <table class="subTable">
707                <tr py:if="params or editLink" class="cellhead">
708                                <th align="left">Label</th>
709                                <th align="left">Vocab Term URL</th>
710                        <th align="left">Vocab Term ID</th>
711                                <th py:if="params and editLink" align="center">Remove</th>
712                        </tr>
713                                <tr py:if="not editLink and not params">
714                                <td colspan="3">No data specified at present</td>
715                </tr>
716                    <tr py:for="i, param in enumerate(params)">
717                        <td>
718                                                <span py:if="editLink" py:strip="">
719                                            ${Markup(h.text_field(refLabel + str(i) + '.label', param.label, class_="fullWidth"))}
720                                                </span>
721                                        <span py:if="not editLink" py:strip="">
722                                                ${param.label}
723                                                </span>
724                        </td>
725                        <td>
726                                                <span py:if="editLink" py:strip="">
727                                            ${Markup(h.text_field(refLabel + str(i) + '.scheme', param.scheme, class_="fullWidth"))}
728                                                </span>
729                                        <span py:if="not editLink" py:strip="">
730                                                ${param.scheme}
731                                                </span>
732                                        </td>
733                        <td>
734                                                <span py:if="editLink" py:strip="">
735                                            ${Markup(h.text_field(refLabel + str(i) + '.term', param.term, class_="fullWidth"))}
736                                                </span>
737                                        <span py:if="not editLink" py:strip="">
738                                                ${param.term}
739                                                </span>
740                        </td>
741                        <td py:if="editLink" align="center">
742                                ${Markup(h.check_box(refLabel + str(i) + remLabel))}
743                        </td>
744                                </tr>
745                    <tr py:if="editLink" py:for="i in range(len(params), len(params) + extraRows)">
746                        <td>
747                                        ${Markup(h.text_field(refLabel + str(i) + '.label', class_="fullWidth"))}
748                        </td>
749                        <td>
750                                    ${Markup(h.text_field(refLabel + str(i) + '.scheme', class_="fullWidth"))}
751                        </td>
752                        <td>
753                                    ${Markup(h.text_field(refLabel + str(i) + '.term', class_="fullWidth"))}
754                        </td>
755                        <td py:if="params" />
756                                </tr>
757                        <tr py:if="editLink"><td>
758                        ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
759                </td></tr>
760                        </table>
761                </form>
762    </div>
763
764
765    <div py:def="SummaryParameterList(params)" id="summaryParams" class="metadataSection shown">
766        <table py:if="params">
767            <tr><td class="linehead">
768            <table><tr><td>Parameters - summary</td>
769            <td align="right">
770            <span py:replace="expandHideSection('fullParams','summaryParams',g.navPlus)" strip=""/>
771            </td></tr></table></td></tr>
772            <tr>
773            <table class="subTable">
774                <?python
775                        fullLength = len(list(params))
776                        colNumber = 4
777                ?>
778                        <span py:for="index, param in enumerate(params)" py:strip="">
779                                <tr class="summaryText">
780                                 <span py:if="not index%colNumber" py:strip="">
781                                 <span py:for="i in range(colNumber)" py:strip="">
782                                        <td py:if="index &lt; fullLength - i">${params[index + i].label or params[index + i].term or params[index + i].scheme}</td>
783                                 </span>
784                                 </span>
785                                        </tr>
786                        </span>
787            </table>
788            </tr>
789        </table>
790    </div>
791   
792    <div class="metadataSection" py:def="Coverage(editLink)">
793        <?python       
794                                divID = 'spatialtemporalDiv'
795                                edID = divID+'ed'
796                                helpID = divID + '_help'
797                ?>
798        <table>
799            <tr><td class="linehead" colspan="2">
800                    <table>
801                        <tr><td>Data Coverage<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
802                            <span py:if="editLink" py:strip="">
803                                <td align="right">
804                                        <span class="txtBlktog">
805                                        <a href="javascript:;" title="Toggle Form" 
806                                             onclick="swapLayers('$divID', '$edID'); return false;">
807                                        Add/Edit</a>
808                                        </span>
809                                    </td>
810                            </span>
811                                        </tr>
812                                <tr id="$helpID" class="hidden" >
813                                        <td class="helptxt" colspan="2">$g.atom_coverage</td>
814                                        </tr>                   
815                                </table>
816                                </td>
817                        </tr>
818            <tr>
819                <td>
820                <div id="$divID">
821                        <table><tr>
822                        <td><div py:replace="Spatial(None)"/></td>
823                        <td><div py:replace="Temporal(None)"/></td>
824                    </tr>
825                    <tr>
826                    <td>
827                    <table>
828                            <tr>
829                            <td class="cellhead">
830                            Spatial resolution
831                            </td>
832                            </tr>
833                            <tr>
834                                        <td>
835                                        ${c.atom.ME.spatialResolution or 'No spatial resoultion information available.'}
836                                                </td>
837                            </tr>
838                    </table>
839                    </td>
840                    <td>
841                    <table>
842                            <tr>
843                            <td class="cellhead">
844                            Vertical extent
845                            </td>
846                            </tr>
847                            <tr>
848                                                <td>
849                                        ${c.atom.ME.verticalExtent or 'No vertical extent information available.'}
850                                                </td>
851                            </tr>
852                    </table>
853                    </td>
854                    </tr></table>
855                </div>
856                </td>
857            </tr>
858            <span py:if="editLink" py:strip="">
859                                <form action="${editLink}" method="post">
860                <tr>
861                        <td>
862                        <div id="$edID" class="hidden">
863                                <table><tr>
864                                <td><div py:replace="Spatial(editLink)"/></td>
865                            <td><div py:replace="Temporal(editLink)"/></td>
866                            </tr>
867                            <tr>
868                            <td>
869                            <table>
870                                    <tr>
871                                    <td class="cellhead">
872                                    Spatial resolution
873                                    </td>
874                                    </tr>
875                                    <tr>
876                                                        <td>
877                                                        ${Markup(h.text_field('spatialResolution', c.atom.ME.spatialResolution))}
878                                                        </td>
879                                    </tr>
880                            </table>
881                            </td>
882                            <td>
883                            <table>
884                                    <tr>
885                                    <td class="cellhead">
886                                    Vertical extent
887                                    </td>
888                                    </tr>
889                                    <tr>
890                                                        <td>
891                                                        ${Markup(h.text_field('verticalExtent', c.atom.ME.verticalExtent))}
892                                                        </td>
893                                    </tr>
894                            </table>
895                            </td>
896                            </tr>
897                            <tr><td>
898                                ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
899                                 </td></tr>
900                            </table>
901                        </div>
902                    </td>
903                    </tr>
904                                </form>
905                        </span>
906        </table>
907    </div>
908
909    <div py:def="Temporal(editLink)" py:strip="">
910                <table><tr><td class="cellhead">Temporal coverage</td>
911                        <td py:if="editLink">(e.g. 1975-04-28)</td></tr>
912            <span py:if="c.atom.t1 or c.atom.t2 or editLink" py:strip="">
913                                <tr><td>Start Date:</td>
914                                <td>
915                                <span py:if="editLink" py:strip="">
916                                ${Markup(h.text_field('t1', c.atom.t1))}
917                                </span>
918                        <span py:if="not editLink" py:strip="">
919                        ${c.atom.t1}
920                                </span>
921                                </td></tr>
922                                <tr><td>End Date:</td>
923                                <td>
924                                <span py:if="editLink" py:strip="">
925                                ${Markup(h.text_field('t2', c.atom.t2))}
926                                </span>
927                        <span py:if="not editLink" py:strip="">
928                        ${c.atom.t2}
929                                </span>
930                                </td></tr>
931            </span>
932            <span py:if="not c.atom.t1 and not c.atom.t2 and not editLink" py:strip="">
933                                <tr><td colspan="2">No temporal information available.</td></tr>
934                        </span>
935        </table>
936    </div>
937                           
938    <div py:def="Spatial(editLink)" py:strip="">
939        <table>
940            <tr><td colspan="2" class="cellhead">Spatial coverage</td></tr>
941            <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="">
942                    <tr><td colspan="2">No spatial coverage information available.</td></tr>
943                </span>
944            <span py:if="c.atom.minX or c.atom.minY or c.atom.maxX or c.atom.maxY or editLink" py:strip="">
945                                <tr>
946                                <td colspan="2" align="center">
947                                <span py:if="editLink" py:strip="">
948                                <span class="cellhead">Max Y:</span> ${Markup(h.text_field('maxY', c.atom.maxY))}
949                                </span>
950                        <span py:if="not editLink" py:strip="">
951                        <span class="cellhead">Max Y:</span> ${c.atom.maxY}
952                                </span>
953                                </td></tr>
954                        <tr><td align="center">
955                                <span py:if="editLink" py:strip="">
956                                <span class="cellhead">Min X:</span> ${Markup(h.text_field('minX', c.atom.minX))}
957                                </span>
958                        <span py:if="not editLink" py:strip="">
959                        <span class="cellhead">Min X:</span> ${c.atom.minX}
960                                </span>
961                        </td><td align="center">
962                                <span py:if="editLink" py:strip="">
963                                <span class="cellhead">Max X</span> ${Markup(h.text_field('maxX', c.atom.maxX))}
964                                </span>
965                        <span py:if="not editLink" py:strip="">
966                        <span class="cellhead">Max X</span> ${c.atom.maxX}
967                                </span>
968                        </td></tr>
969                        <tr><td colspan="2" align="center">
970                                <span py:if="editLink" py:strip="">
971                                <span class="cellhead">Min Y</span> ${Markup(h.text_field('minY', c.atom.minY))}
972                                </span>
973                        <span py:if="not editLink" py:strip="">
974                        <span class="cellhead">Min Y</span> ${c.atom.minY}
975                                </span>
976                        </td></tr>
977                </span>
978        </table> 
979    </div>
980   
981       
982    <div py:def="Services()" id="ServiceList" class="metadataSection">
983        <table cellspacing="0" cellpadding="3" width="100%" border="0"><tbody>
984            <tr><td class="linehead" colspan="3"><span class="headingO">Links and Services</span></td></tr>
985            <tr py:if="c.atom.ndgObject is not None">
986                    <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.xmlURL,g.icons_xml,'[XML]')"/></td>
987                <td>Downloadable XML version of this record
988                    <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
989                (Original <span py:replace="linkimage(c.atom.ndgObject.xmlURL+'&amp;outputSchema=original',g.icons_xml,'[XML]')"/>)
990                    </span></td>
991                </tr>
992            <tr py:if="c.atom.ndgObject is not None">
993                <td width="20%"><span py:replace="linkimage(c.atom.ndgObject.printableURL,g.icons_prn,'[HTML]')"/></td>
994                    <td>Viewable XML version of this record
995                 <span py:if="c.atom.ndgObject.gettable==1" py:strip="">
996                    (Original <span py:replace="linkimage(c.atom.ndgObject.printableURL+'&amp;outputSchema=original',g.icons_prn,'[HTML]')"/>)
997                </span></td>
998            </tr>
999            <tr py:if="c.atom.ndgObject.gettable==1"><td></td><td>(Original records are the raw material harvested from data providers)</td></tr>
1000        </tbody></table>
1001    </div>
1002   
1003       
1004    <div class="metadataSection" py:def="Other(editLink)">
1005        <?python       
1006                                divID = 'otherDiv'
1007                                edID = divID+'ed'
1008                                helpID = divID + '_help'
1009                ?>
1010        <table>
1011            <tr><td class="linehead" colspan="2">
1012                    <table>
1013                        <tr><td>Other Info<span py:if="editLink" py:replace="helpIcon(helpID, 'tr')"/></td>
1014                            <span py:if="editLink" py:strip="">
1015                                <td align="right">
1016                                        <span class="txtBlktog">
1017                                        <a href="javascript:;" title="Toggle Form" 
1018                                             onclick="swapLayers('$divID', '$edID'); return false;">
1019                                        Add/Edit</a>
1020                                        </span>
1021                                    </td>
1022                            </span>
1023                                        </tr>
1024                                <tr id="$helpID" class="hidden" >
1025                                        <td class="helptxt" colspan="2">$g.atom_other</td>
1026                                        </tr>                   
1027                                </table>
1028                                </td>
1029                        </tr>
1030            <tr>
1031                <td>
1032                <div id="$divID">
1033                        <table>
1034                    <tr>
1035                    <td>
1036                    <table>
1037                            <tr>
1038                            <td class="cellhead">
1039                            Dataset language
1040                            </td>
1041                            </tr>
1042                            <tr>
1043                                        <td>
1044                                        ${c.atom.ME.datasetLanguage}
1045                                                </td>
1046                            </tr>
1047                    </table>
1048                    </td>
1049                    <td>
1050                    <table>
1051                            <tr>
1052                            <td class="cellhead">
1053                            Update frequency
1054                            </td>
1055                            </tr>
1056                            <tr>
1057                                                <td>
1058                                        ${c.atom.ME.updateFrequency or 'Unspecified'}
1059                                                </td>
1060                            </tr>
1061                    </table>
1062                    </td>
1063                    </tr></table>
1064                </div>
1065                </td>
1066            </tr>
1067            <span py:if="editLink" py:strip="">
1068                                <form action="${editLink}" method="post">
1069                <tr>
1070                        <td>
1071                        <div id="$edID" class="hidden">
1072                                <table>
1073                            <tr>
1074                            <td>
1075                            <table>
1076                                    <tr>
1077                                    <td class="cellhead">
1078                                    Dataset language
1079                                    </td>
1080                                    </tr>
1081                                    <tr>
1082                                                        <td>
1083                                                        ${Markup(h.text_field('datasetLanguage', c.atom.ME.datasetLanguage))}
1084                                                        </td>
1085                                    </tr>
1086                            </table>
1087                            </td>
1088                            <td>
1089                            <table>
1090                                    <tr>
1091                                    <td class="cellhead">
1092                                    Update frequency
1093                                    </td>
1094                                    </tr>
1095                                    <tr>
1096                                                        <td>
1097                                                        ${Markup(h.text_field('updateFrequency', c.atom.ME.updateFrequency))}
1098                                                        </td>
1099                                    </tr>
1100                            </table>
1101                            </td>
1102                            </tr>
1103                            <tr><td>
1104                                ${Markup(h.submit('Update', **{'onclick': 'Div_show("loading");'}))}
1105                                 </td></tr>
1106                            </table>
1107                        </div>
1108                    </td>
1109                    </tr>
1110                                </form>
1111                        </span>
1112        </table>
1113    </div>
1114   
1115</html>
Note: See TracBrowser for help on using the repository browser.