Ignore:
Timestamp:
20/10/08 09:17:56 (11 years ago)
Author:
cbyrom
Message:

Abstract template function to display general atom info + add new 'content
file' section + adjust to use global vocabtermdata object + standardise atom
and atom_editor templates - to allow one to be removed + add new function
to nicely display errors - to display validation problems.

Location:
TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom.html

    r4315 r4349  
    1414      <div id="contents"> 
    1515            <div class="metadata"> 
    16                         <div class="headingblock"> 
    17                                 <?python 
    18                                 prefix = c.atom.atomTypeName 
    19                                         if prefix: 
    20                                                 prefix += ':' 
    21                                         ?> 
    22                             <div id="title" class="heading">$prefix $c.atom.title</div> 
    23                     <table> 
    24                        <tr><td> 
    25                            <img py:for="logo in c.atom.logos"  
    26                            alt="$logo.rel"  
    27                            src="$logo.href" class="clear"/> 
    28                        </td> 
    29                        <td><div id="abstract">$c.atom.summary</div></td></tr> 
    30                     </table> 
    31                         </div> 
    32                         <div py:replace="OnlineReferences(c.atom.relatedLinks, None)"/> 
    33                         <div py:replace="People('Author', [c.atom.author], None)"/> 
    34                         <div py:replace="People('Contributors', c.atom.contributors, None)"/> 
    35                         <div py:replace="FullParameterList(c.atom.parameters, None, 'hidden')"/> 
     16                        <div py:replace="displayErrors()"/> 
     17                <table py:if="editLink"> 
     18                <tr><td>Data Type:</td><td>$c.atom.atomTypeName</td></tr> 
     19                <tr><td>Provider ID:</td><td>$c.atom.ME.providerID</td></tr> 
     20                                <tr><td>Created:</td><td>$c.atom.publishedDate</td></tr> 
     21                <tr><td>Last updated:</td><td>$c.atom.updatedDate</td></tr> 
     22                </table> 
     23             
     24                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="GeneralInfo(c.saveLink)"/> 
     25                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="TextArea('Summary', c.atom.Summary, c.saveLink)"/> 
     26                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="TextArea('Content', c.atom.Content, c.saveLink)"/> 
     27                        <div py:replace="People('Author', [c.atom.author], c.saveLink)"/> 
     28                        <div py:if="not c.atom.isDeployment()" py:replace="People('Contributors', c.atom.contributors, c.saveLink)"/> 
     29                        <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="OnlineReferences(c.atom.getLinksOfType(c.atom.ONLINE_REF_LABEL), c.saveLink)"/> 
     30                        <div py:replace="FullParameterList(c.atom.parameters, c.saveLink, 'hidden')"/> 
    3631                        <div py:replace="SummaryParameterList(c.atom.parameters)"/> 
    37                         <div py:replace="Coverage(None)"/> 
     32                        <div py:if="c.atom.isDE()" py:replace="Associations('Associated Data Granules', c.atom.getLinksOfType(c.vtd.GRANULE_TERM), c.addGranuleLink, c.saveAssoc)"/> 
     33                        <div py:if="c.atom.isDE()" py:replace="Associations('Associated Deployments', c.atom.getLinksOfType(c.vtd.ACTIVITY_TERM), c.addDeploymentLink, c.saveAssoc)"/> 
     34                        <div py:replace="Coverage(c.saveLink)"/> 
    3835                        <div id="deploymentsPlaceholder" /> 
    3936                        <div py:replace="People('Responsible Parties',  
    40                                 c.atom.ME.responsibleParties, None)"/> 
     37                                c.atom.ME.responsibleParties, c.saveLink)"/> 
    4138                            <div py:replace="Services()"/> 
    4239              </div> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_creator.html

    r4283 r4349  
    44        xmlns:xi="http://www.w3.org/2001/XInclude"> 
    55        <xi:include href="layout.html" /> 
     6        <xi:include href="atom_functions.html" /> 
    67        <head> 
    78        <title py:content="c.title">title</title> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_editor.html

    r4315 r4349  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    2 <html xmlns="http://www.w3.org/1999/xhtml" 
     2<html lang="en" xmlns="http://www.w3.org/1999/xhtml"  
    33        xmlns:py="http://genshi.edgewall.org/"  
    44        xmlns:xi="http://www.w3.org/2001/XInclude"> 
     
    88        <title py:content="c.title">title</title> 
    99    </head> 
    10     <body class="submit"> 
     10    <body> 
    1111      <panelTab>Details</panelTab> 
    1212      <div id="contents"> 
    1313            <div class="metadata"> 
    14                             <a href="${h.url_for(controller='listatom',action='atomHome')}">Home</a> 
     14                            <a py:if="c.saveLink" href="${h.url_for(controller='listatom',action='atomHome')}">Home</a> 
    1515                            <h3>  $c.title </h3> 
    16                 <table> 
     16                        <div py:replace="displayErrors()"/> 
     17                <table py:if="c.saveLink"> 
    1718                <tr><td>Data Type:</td><td>$c.atom.atomTypeName</td></tr> 
    1819                <tr><td>Provider ID:</td><td>$c.atom.ME.providerID</td></tr> 
     
    2021                <tr><td>Last updated:</td><td>$c.atom.updatedDate</td></tr> 
    2122                </table> 
    22                         <div class="headingblock"> 
    2323 
    24                                 <h4>General Info</h4> 
    25                                 <form action="${c.saveLink}" method="post"> 
    26                                 <table summary="" width="100%"> 
    27                                 <tr> 
    28                                 <td class="cellhead" width="10%">Title:</td> 
    29                                 <td class="column"> 
    30                                         ${Markup(h.text_field('title',c.atom.title, size="120"))} 
    31                                         <span py:if="'title' in c.errors" class="error">${c.errors.title}</span> 
    32                                 </td> 
    33                                 </tr> 
    34                                 <span py:if="len(c.subTypes) &gt; 0" py:strip=""> 
    35                                 <tr> 
    36                                 <td class="cellhead">Sub-Type:</td> 
    37                                 <td> 
    38                                         ${Markup(h.select('subtype',option_tags=c.subTypes))} 
    39                                 </td> 
    40                             </tr> 
    41                             </span> 
    42                                 <tr py:if="c.notDeployment"> 
    43                                 <td class="cellhead" width="10%">Abbreviation:</td> 
    44                                 <td class="column"> 
    45                                         ${Markup(h.text_field('abbreviation',c.atom.ME.abbreviation))} 
    46                                 </td> 
    47                                 </tr> 
    48                                 <tr> 
    49                                 <td></td> 
    50                                 <td> 
    51                                         <input type="submit" value="Update" /> 
    52                                         <input type='button' onclick='history.go(-1)' value='Cancel' /> 
    53                                 </td> 
    54                                 </tr></table> 
    55                                 </form> 
    56                         </div> 
    57  
    58                 <div py:if="c.notDeployment and not c.isGranule" py:replace="TextArea('Summary', c.atom.Summary, c.saveLink)"/> 
    59                 <div py:if="c.notDeployment and not c.isGranule" py:replace="TextArea('Content', c.atom.Content, c.saveLink)"/> 
     24                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="GeneralInfo(c.saveLink)"/> 
     25                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="TextArea('Summary', c.atom.Summary, c.saveLink)"/> 
     26                <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="TextArea('Content', c.atom.Content, c.saveLink)"/> 
     27                <div py:if="c.atom.isGranule()" py:replace="ContentFile(c.atom.contentFile, c.saveLink)"/> 
    6028                        <div py:replace="People('Author', [c.atom.author], c.saveLink)"/> 
    61                         <div py:if="c.notDeployment" py:replace="People('Contributors', c.atom.contributors, c.saveLink)"/> 
    62                         <div py:if="c.notDeployment and not c.isGranule" py:replace="OnlineReferences(c.atom.getLinksOfType(c.atom.ONLINE_REF_LABEL), c.saveLink)"/> 
    63                         <div py:if="not c.notDeployment" py:replace="Associations('Associated Data', c.atom.relatedLinks, c.addEntityLink, c.saveAssoc)"/> 
    64                         <div py:if="c.isDE" py:replace="Associations('Associated Data Granules', c.atom.getLinksOfType(c.vtd.GRANULE_TERM), c.addGranuleLink, c.saveAssoc)"/> 
    65                         <div py:if="c.isDE" py:replace="Associations('Associated Deployments', c.atom.getLinksOfType(c.vtd.ACTIVITY_TERM), c.addDeploymentLink, c.saveAssoc)"/> 
    66                         <div py:if="c.notDeployment" py:replace="FullParameterList(c.atom.parameters, c.saveLink, '')"/> 
    67                         <div py:replace="FullDeployments(c.atom.ME.deployments)"/> 
     29                        <div py:if="not c.atom.isDeployment()" py:replace="People('Contributors', c.atom.contributors, c.saveLink)"/> 
     30                        <div py:if="not c.atom.isDeployment() and not c.atom.isGranule()" py:replace="OnlineReferences(c.atom.getLinksOfType(c.atom.ONLINE_REF_LABEL), c.saveLink)"/> 
     31                        <div py:if="c.atom.isDeployment()" py:replace="Associations('Associated Data', c.atom.relatedLinks, c.addEntityLink, c.saveAssoc)"/> 
     32                        <div py:if="c.atom.isDE()" py:replace="Associations('Associated Data Granules', c.atom.getLinksOfType(g.vtd.GRANULE_TERM), c.addGranuleLink, c.saveAssoc)"/> 
     33                        <div py:if="c.atom.isDE()" py:replace="Associations('Associated Deployments', c.atom.getLinksOfType(g.vtd.ACTIVITY_TERM), c.addDeploymentLink, c.saveAssoc)"/> 
     34                                <span py:if="not c.atom.isDeployment()" py:strip=""> 
     35                                        <span py:if="not c.saveLink" py:strip=""> 
     36                                        <div py:replace="SummaryParameterList(c.atom.parameters)"/> 
     37                                        <div py:replace="FullParameterList(c.atom.parameters, c.saveLink, 'hidden')"/> 
     38                                        </span> 
     39                                <div py:if="c.saveLink" py:replace="FullParameterList(c.atom.parameters, c.saveLink, '')"/> 
     40                                </span> 
     41                        <div py:if="not c.saveLink" id="deploymentsPlaceholder" /> 
     42                        <div py:if="c.saveLink" py:replace="FullDeployments(c.atom.ME.deployments)"/> 
    6843                        <div py:replace="Coverage(c.saveLink)"/> 
    6944                        <div py:replace="People('Responsible Parties',  
    7045                                c.atom.ME.responsibleParties, c.saveLink)"/> 
    71                 </div> 
    72         </div> 
    73   </body> 
     46                            <div py:if="not c.saveLink" py:replace="Services()"/> 
     47              </div> 
     48      </div> 
     49          <span py:if="not c.saveLink" py:strip=""> 
     50              <includeCorrectionLink>True</includeCorrectionLink> 
     51          <center> 
     52                    <p>Not all information in this record may be rendered in this view. Please see the XML version for complete 
     53                    content </p> 
     54              </center> 
     55          </span> 
     56    </body> 
    7457</html> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_functions.html

    r4315 r4349  
    66         
    77    <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        <tr py:for="error in c.errors"> 
     13                <!-- td>Input - '${error}'</td--> 
     14                <td align="left">'${c.errors[error]}'</td> 
     15        </tr> 
     16        </table> 
     17    </div> 
     18 
     19     
     20    <div class="metadataSection" py:def="ContentFile(fileName, editLink)"> 
     21        <?python         
     22                                divID = 'contentFileDiv' 
     23                                edID=divID+'ed'  
     24                ?> 
     25        <table> 
     26            <tr><td class="linehead"> 
     27                    <table> 
     28                        <tr><td>Content File</td> 
     29                            <span py:if="editLink" py:strip=""> 
     30                                <td align="right"> 
     31                                        <span class="txtBlktog"> 
     32                                        <a href="javascript:;" title="Toggle Form"  
     33                                             onclick="swapLayers('$divID', '$edID'); return false;"> 
     34                                        Add/Edit</a> 
     35                                        </span> 
     36                                    </td> 
     37                            </span> 
     38                                        </tr> 
     39                                </table> 
     40            </td></tr> 
     41            <tr><td> 
     42                <div id = "$divID"> 
     43                                <div py:replace="ContentFileTable(fileName, None)"/> 
     44                        </div> 
     45                        </td></tr> 
     46                <tr py:if="editLink"><td> 
     47                        <div id="$edID" class="hidden"> 
     48                                <div py:replace="ContentFileTable(fileName, editLink)"/> 
     49                        </div> 
     50                        </td></tr> 
     51        </table> 
     52        </div> 
     53 
     54 
     55        <div py:def="ContentFileTable(fileName, editLink)"> 
     56                <form action="${editLink}" method="post"> 
     57            <table> 
     58                <tr py:if="not editLink and not fileName"> 
     59                                <td colspan="3">No data specified at present</td> 
     60                        </tr> 
     61                        <tr py:if="editLink or fileName"> 
     62                                <td class="cellhead">File name:</td> 
     63                        <td py:if="editLink"> 
     64                                    ${Markup(h.text_field('contentFile', fileName))} 
     65                                        </td> 
     66                        <td py:if="not editLink"> 
     67                        ${Markup(fileName)} 
     68                                </td> 
     69                                <td py:if="editLink"> 
     70                                        <input type="submit" value="Update" /> 
     71                                </td> 
     72                </tr> 
     73                        </table> 
     74                </form> 
     75        </div> 
     76 
     77    <div class="headingblock" py:def="GeneralInfo(editLink)"> 
     78                <h4>General Info</h4> 
     79                <form action="${c.saveLink}" method="post"> 
     80                        <table summary="" width="100%"> 
     81                        <tr> 
     82                        <td class="cellhead" width="10%">Title:</td> 
     83                        <td py:if="editLink" class="column"> 
     84                                ${Markup(h.text_field('title',c.atom.title, size="120"))} 
     85                        </td> 
     86                        <td py:if="not editLink" class="column"> 
     87                                ${Markup(c.atom.title)} 
     88                        </td> 
     89                        <?python logos = c.atom.getLogos() ?> 
     90                        <td py:if="logos"> 
     91                   <img py:for="logo in logos"  
     92                        alt="$logo.rel"  
     93                        src="$logo.href" class="clear"/> 
     94                </td> 
     95                            </tr> 
     96                            <tr py:if="not editLink"> 
     97                        <td class="cellhead">Type:</td> 
     98                        <td class="column"> 
     99                                ${Markup(c.atom.atomTypeName)} 
     100                        </td> 
     101                        </tr> 
     102                            <span py:if="len(c.subTypes) &gt; 0" py:strip=""> 
     103                            <tr> 
     104                        <td class="cellhead">Sub-Type:</td> 
     105                        <td py:if="editLink" class="column"> 
     106                                ${Markup(h.select('subtype',option_tags=c.subTypes))} 
     107                        </td> 
     108                        <td py:if="not editLink" class="column"> 
     109                                ${Markup(g.vtd.tidySubTypeTitle(c.atom.subtypeID))} 
     110                        </td> 
     111                        </tr> 
     112                        </span> 
     113                        <tr py:if="not c.atom.isDeployment()"> 
     114                        <td class="cellhead" width="10%">Abbreviation:</td> 
     115                        <td py:if="editLink" class="column"> 
     116                                ${Markup(h.text_field('abbreviation',c.atom.ME.abbreviation))} 
     117                        </td> 
     118                        <td py:if="not editLink" class="column"> 
     119                                ${Markup(c.atom.ME.abbreviation or "")} 
     120                        </td> 
     121                            </tr> 
     122                         <tr> 
     123                        <td></td> 
     124                        <td py:if="editLink"> 
     125                                <input type="submit" value="Update" /> 
     126                                <input type='button' onclick='history.go(-1)' value='Cancel' /> 
     127                        </td> 
     128                </tr></table> 
     129        </form> 
     130        </div> 
     131 
     132 
    8133     
    9134    <div class="metadataSection" py:def="TextArea(name, value, editLink)"> 
     
    226351        <?python 
    227352                rel=link.vocabUrl.upper() 
    228                 if rel.startswith(c.vtd.ACTIVITY_TERM): 
     353                if rel.startswith(g.vtd.ACTIVITY_TERM): 
    229354                                rel = "Activity" 
    230                 elif rel.startswith(c.vtd.OBS_TERM): 
     355                elif rel.startswith(g.vtd.OBS_TERM): 
    231356                                rel = "Observation Station" 
    232                 elif rel.startswith(c.vtd.DPT_TERM): 
     357                elif rel.startswith(g.vtd.DPT_TERM): 
    233358                                rel = "Data Production Tool" 
    234359        ?> 
     
    302427                        # get the default display value type 
    303428                        try: 
    304                                 vti = c.vtd.getTermItemfromFullVocabURI(link.rel) 
     429                                vti = g.vtd.getTermItemfromFullVocabURI(link.rel) 
    305430                                displayType = vti.title or link.rel 
    306431                        except: 
     
    312437                                                </span> 
    313438                                        <span py:if="not editLink" py:strip=""> 
    314                                         ${displayType} 
     439                                        ${Markup(displayType)} 
    315440                                                </span> 
    316441                        </td> 
     
    323448                                                </span> 
    324449                                        <span py:if="not editLink" py:strip=""> 
    325                                                 <a href="${link.href}">${link.title or link.href}</a> 
     450                                                <a href="${link.href}">${Markup(link.title or link.href)}</a> 
    326451                                                </span> 
    327452                        </td> 
     
    406531                        # get the default display value 
    407532                        displayVal = link.title or link.href 
    408                         vti = c.vtd.getTermItemfromFullVocabURI(link.rel) 
    409                         subType = c.vtd.tidySubTypeTitle(vti.title) 
     533                        vti = g.vtd.getTermItemfromFullVocabURI(link.rel) 
     534                        subType = g.vtd.tidySubTypeTitle(vti.title) 
    410535                        inputLabel = refLabel + link.href + delim + (link.title or "") + delim + link.rel 
    411536                            ?> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_home.html

    r4237 r4349  
    1515                            <h2> 
    1616                            <a href="${h.url_for(controller='editatom',action='create')}">Create atom</a> 
    17 <!-- 
    18 ${Markup(h.link_to_remote("Create atom",dict(url = h.url_for(controller='editatom',action=create'))))} 
    19 --> 
    2017                                </h2> 
    2118                            <h2> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_list.html

    r4315 r4349  
    7272                                                subTypeVTI = None 
    7373                                                if atom.subtype: 
    74                                                         subTypeVTI = c.vtd.getTermItemfromFullVocabURI(atom.subtype) 
    75                                                         subType = c.vtd.tidySubTypeTitle(subTypeVTI.title) 
    76                                                 vti = c.vtd.getTermItemfromFullVocabURI(atom.type) 
     74                                                        subTypeVTI = g.vtd.getTermItemfromFullVocabURI(atom.subtype) 
     75                                                        subType = g.vtd.tidySubTypeTitle(subTypeVTI.title) 
     76                                                vti = g.vtd.getTermItemfromFullVocabURI(atom.type) 
    7777                                                type = vti.title 
    7878                                                allowAdd = False 
    7979                                                if c.assocAtomType: 
    80                                                         if c.assocAtomType == c.vtd.DEPLOYMENT_TERM and c.vtd.isDeployable(vti): 
    81                                                                 if not subTypeVTI or subTypeVTI.termID != c.vtd.DEPLOYMENT_TERM: 
     80                                                        if c.assocAtomType == g.vtd.DEPLOYMENT_TERM and g.vtd.isDeployable(vti): 
     81                                                                if not subTypeVTI or subTypeVTI.termID != g.vtd.DEPLOYMENT_TERM: 
    8282                                                                        allowAdd = True 
    83                                                         elif c.assocAtomType == c.vtd.DE_TERM and (c.vtd.isDeployment(subTypeVTI) or c.vtd.isGranule(vti)): 
     83                                                        elif c.assocAtomType == g.vtd.DE_TERM and (g.vtd.isDeployment(subTypeVTI) or g.vtd.isGranule(vti)): 
    8484                                                                allowAdd = True 
    8585                                                if allowAdd: 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/layout.html

    r4283 r4349  
    1010      </title> 
    1111                ${Markup(h.javascript_include_tag(builtins=True))} 
     12                <script src="http://yui.yahooapis.com/3.0.0pr1/build/yui/yui-min.js" type="text/javascript"></script>  
    1213        <script type="text/javascript" src="$g.server/js/toggleDiv.js"/> 
    1314        <script type="text/javascript" src="$g.server/js/ndgJavascript.js"/> 
     15                <script type="text/javascript" src="$g.server/js/queueDeployments.js"/> 
    1416        <link media="all, screen" href="$g.server/layout/ndg2.css"  
    1517                type="text/css" rel="stylesheet"/> 
Note: See TracChangeset for help on using the changeset viewer.