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

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

Implement text help for the remaining atom edit sections. Improve
handling of authors data - to cope with empty author data.
Move helper template functions to the utils template.

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