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

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

Display more detail on deployments summary - providing clickable link
to deployment doc + properly enable debug mode on/off with boolean
string test + hide help text for atom state when in view mode + hide
link to help page when on help page - but display link to home page +
fix problem with text displayed on 'add selections' button - needed
to set explicit name for this to avoid htmlfill overwriting value
erroneously + remove unecessary package reference from setup.

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