Changeset 4283 for TI05-delivery


Ignore:
Timestamp:
06/10/08 10:03:48 (11 years ago)
Author:
cbyrom
Message:

Fix 'cancel' button + replace 'summary' edit with separate function to keep consistent with other sections + add template code to support activity deployments - NB, these have a reduced set of input fields and have a fixed subtype + add functions to allow association of atoms with activity deployments - storing these similarly to online refs + add javascript code to allow page data to be loaded incrementally - and implement the basics of this for loading in deployments data + create html snippet for
deployments data to make this simpler + add routing and controller code to handle new templates for associations + deployments data.

Location:
TI05-delivery/ows_framework/trunk/ows_server/ows_server
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/config/routing.py

    r4268 r4283  
    3838    map.connect('saveAtom/:uri/:saveLevel', controller = 'editatom', \ 
    3939                action='saveAtom', saveLevel='0') 
    40     map.connect('createAtom/:saveData', controller = 'editatom', action='create') 
    41     map.connect('createAtom', controller = 'editatom', action='create') 
     40    map.connect('createAtom/:saveData', controller = 'editatom', action='create', \ 
     41                saveData = None) 
    4242    map.connect('atomHome', controller = 'listatom', action='atomHome') 
    43     map.connect('listAtom/:searchData', controller = 'listatom', \ 
    44                 action='list', searchData='') 
     43    map.connect('addAtom', controller = 'editatom', action='addAtom') 
     44    map.connect('listAtom/:searchData/:associatedAtomID', controller = 'listatom', \ 
     45                action='list', searchData='', associatedAtomID='') 
     46    map.connect('viewDeployments/:uri', controller = 'retrieve', action='viewDeployments') 
    4547 
    4648     
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/editatom.py

    r4268 r4283  
    4646    Provides the pylons controller for editing NDG Atom documents. 
    4747    ''' 
     48    VTD = VTD() 
    4849     
    4950    def __setup(self,uri=None): 
     
    7980            return render('error') 
    8081         
    81          
    8282        inputs = request.params 
    83         logging.debug("inputs:\n%s" %inputs) 
    8483 
    8584        authors = self.extractAuthorDetails(inputs) 
     
    9291 
    9392        if inputs.get('subtype'): 
    94             inputs['subtype'] = self.getLatestTermURLFromDropDownInput( \ 
     93            c.atom.subtype = self.getLatestTermURLFromDropDownInput( \ 
    9594                    inputs.get('subtype')) 
    9695 
     
    145144        inputs = request.params 
    146145        c.atom = Atom(xmlString=str(x), ndgObject = self.ndgObject, **dict(inputs)) 
    147         logging.debug("Input params, '%s'" %inputs) 
    148         logging.debug("INPUTS: %s" %self.inputs) 
    149          
    150146        logging.info("Data model set up") 
    151147 
     
    168164        c.saveLink = h.url_for(controller='editatom',action='saveAtom', \ 
    169165                               saveLevel='1',  uri = c.atom.ndgURI) 
    170         c.saveLink2 = h.url_for(controller='editatom',action='edit', saveData='2') 
    171  
    172  
    173         c.subTypes = getVocabTermDataDropdown(VTD().getValidSubTypes(c.atom.atomTypeID), \ 
     166        c.saveLink2 = h.url_for(controller='editatom',action='saveAtom', saveData='2') 
     167        c.addLink = h.url_for(controller='listatom',action='list', searchData = '0', \ 
     168                               associatedAtomID = c.atom.ndgURI) 
     169 
     170        # account for special case where we're dealing with deployments 
     171        c.notDeployment = True 
     172        listVals = self.VTD.getValidSubTypes(c.atom.atomTypeID) 
     173        if c.atom.subtype: 
     174            subtypeTermID = self.VTD.getTermItemfromFullVocabURI(c.atom.subtype).termID 
     175            if subtypeTermID == self.VTD.getVTI(self.VTD.DEPLOYMENT_TERM).termID: 
     176                listVals = [self.VTD.TERM_DATA[self.VTD.DEPLOYMENT_TERM]] 
     177                c.notDeployment = False 
     178        c.subTypes = getVocabTermDataDropdown(listVals, \ 
    174179                                        selected=c.atom.subtype) 
    175180         
     
    202207        # values 
    203208        logging.debug("Setting up drop down lists for related links") 
    204         vtd = VTD() 
    205         c.relatedLinkTerms = getVocabTermDataDropdown(vtd.getValidTypes(vtd.ONLINE_REF_CATEGORY)) 
     209        c.relatedLinkTerms = getVocabTermDataDropdown(\ 
     210                self.VTD.getValidTypes(self.VTD.ONLINE_REF_CATEGORY)) 
    206211         
    207212        c.relatedLinkSelectedLists = {} 
     
    209214            logging.debug("Adding dropdown for related link, '%s'" %(str(link))) 
    210215            c.relatedLinkSelectedLists[str(link)] = \ 
    211                 getVocabTermDataDropdown(vtd.getValidTypes(vtd.ONLINE_REF_CATEGORY), \ 
     216                getVocabTermDataDropdown(self.VTD.getValidTypes(self.VTD.ONLINE_REF_CATEGORY), \ 
    212217                                                     selected=link.rel) 
    213218 
     
    298303        logging.info("Finished extracting links data") 
    299304        return links 
     305 
     306 
     307    def extractAtomIDs(self, inputs): 
     308        ''' 
     309        Retrieve atom IDs from inputs and set appropriately on Atom, if any 
     310        found 
     311        @return: list of atom IDs 
     312        ''' 
     313        logging.info("Extracting related atom ID data from inputs") 
     314        atoms = [] 
     315 
     316        for key in inputs: 
     317            if key.lower().startswith(Atom.ATOM_REF_LABEL): 
     318                tag = key.split('/')[-1] 
     319                if tag not in atoms: 
     320                    atoms.append(tag) 
     321            else: 
     322                continue 
     323 
     324        logging.info("Finished extracting atoms data") 
     325        return atoms 
    300326                 
    301327 
     
    307333        ''' 
    308334        termData = inputVal.split('--') 
    309         return VTD().getCurrentVocabURI(termData[0]) + \ 
     335        return self.VTD.getCurrentVocabURI(termData[0]) + \ 
    310336                        "/" + termData[1] 
    311337 
     
    330356     
    331357    @validate(schema=CreateAtomFormSchema(), form='create') 
    332     def create(self, saveData = 0, **inputs): 
     358    def create(self, saveData = None, **inputs): 
    333359        '''  
    334360        Create a new atom 
     
    338364            self.__setup() 
    339365            inputs = request.params 
    340             inputs['atomTypeID'] = inputs.get('atomTypeID').split('--')[1] 
     366            atomTypeID = inputs.get('atomTypeID').split('--')[1] 
     367            inputs['atomTypeID'] = atomTypeID 
     368 
     369            # activity deployments should have subtype deployment specified automatically 
     370            if atomTypeID == VTD.ACTIVITY_DEPLOYMENT_TERM: 
     371                inputs['subtype'] = \ 
     372                    self.VTD.getTermCurrentVocabURL(VTD.DEPLOYMENT_TERM) 
     373                inputs['atomTypeID'] = VTD.ACTIVITY_TERM 
     374                 
    341375            inputs['providerID'] = inputs.get('providerID').split('--')[1] 
    342             logging.debug("Input params, '%s'" %inputs) 
    343             self.saveAtomToExist(Atom(**dict(inputs))) 
     376            atom = self.saveAtomToExist(Atom(**dict(inputs))) 
    344377             
    345             h.redirect_to (controller = 'editatom', action='edit', \ 
     378            h.redirect_to (controller = 'editatom', action='edit', 
    346379                           uri = atom.ndgURI) 
    347380             
     
    350383        c.title='Create new atom' 
    351384         
    352         # set up the drop down content 
    353         vtd = VTD() 
    354         c.atomTypes = getVocabTermDataDropdown(vtd.getValidTypes(vtd.ATOM_CATEGORY)) 
    355         c.providerIDs = getVocabTermDataDropdown(vtd.getValidTypes(vtd.PROVIDER_CATEGORY)) 
     385        # set up the drop down content - NB, add special case, 'deployment activity' 
     386        # - this is just a specialised activity - i.e. with subtype preset 
     387        deploymentActivity = self.VTD.TERM_DATA[self.VTD.ACTIVITY_DEPLOYMENT_TERM] 
     388        c.atomTypes = getVocabTermDataDropdown(self.VTD.getValidTypes(self.VTD.ATOM_CATEGORY), 
     389                                               defaultVal = deploymentActivity) 
     390        c.providerIDs = getVocabTermDataDropdown(self.VTD.getValidTypes(self.VTD.PROVIDER_CATEGORY)) 
    356391 
    357392        try: 
     
    368403        return render('error') 
    369404 
     405 
     406 
     407    def addAtom(self): 
     408        ''' 
     409        Add atom details to a deployment 
     410        ''' 
     411        logging.info("Adding atom associations") 
     412        inputs = request.params 
     413        ids = self.extractAtomIDs(inputs) 
     414        # extract out the atom IDs to associate - NB, these are specified with the full ID tags 
     415        logging.info("Finished adding associations - redirect back to edit page") 
     416        h.redirect_to(controller = 'editatom', action='edit', uri = inputs['associatedAtomID']) 
    370417 
    371418 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/listatom.py

    r4273 r4283  
    7373        return render("genshi", "atom_home") 
    7474 
    75     def addAtom(self): 
    76         ''' 
    77         Add atom details to a deployment 
    78         ''' 
    79          
    8075     
    8176    def list(self, searchData=None, associatedAtomID=None): 
     
    8984        try: 
    9085            inputs = request.params 
     86            c.searchData = None 
    9187            if searchData and int(searchData) > 0: 
    9288                logging.info("Preparing atom search") 
     89                c.searchData = searchData 
    9390                self.__setup() 
    9491                atomTypeID = inputs.get('atomTypeID').split('--')[1] 
    9592                providerID = inputs.get('providerID').split('--')[1] 
    96                 logging.debug("Input params, '%s'" %inputs) 
    9793                c.results = self.searchAtoms(providerID, atomTypeID, inputs.get('title')) 
    9894                 
     
    10298            c.addAtom = associatedAtomID 
    10399 
    104             c.searchData = searchData 
    105100            c.searchTerm = inputs.get('title') 
    106101             
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/retrieve.py

    r4230 r4283  
    6262            response.status_code = e 
    6363            return render('error') 
     64 
     65    def viewDeployments(self, uri): 
     66        ''' 
     67        Get the deployments data associated with the uri 
     68        @param uri: valid ndg uri 
     69        @return rendered genshi deployments template 
     70        ''' 
     71        logging.info("Getting deployments data for '%s'" %uri) 
     72        status=self.__setup(uri) 
     73        if status: 
     74            c.xml='<p>%s</p>'%status  
     75            response.status_code = 400 
     76            return render('error') 
     77 
     78        status,x=interface.GetXML(uri,outputSchema=self.outputSchema) 
     79        c.xmlh=x 
     80        c.atom = Atom(xmlString=str(x), ndgObject = self.uri) 
     81             
     82        try: 
     83            import time 
     84            time.sleep(5) 
     85            return render('genshi', 'deployments_data') 
     86         
     87        except ExpatError, e: 
     88            c.xml='XML content is not well formed' 
     89            c.doc=str(x) 
     90            response.status_code = 400 
     91            logging.error("Error retrieving [%s] - XML content: %s" % (uri, e)) 
     92            return render('error') 
     93 
     94        except Exception, e: 
     95            #we may be showing an xml document ... but it could go wrong if 
     96            #we have crap content ... 
     97            c.xml='Unexpected error [%s] viewing [%s]'%(str(e), uri) 
     98            c.doc='' 
     99            response.status_code = 400 
     100            logging.error(c.xml) 
     101            return render('error') 
     102 
     103         
    64104         
    65105    def view(self,uri): 
     
    106146                c.atom = Atom(xmlString=str(x), ndgObject = self.uri) 
    107147                c.r = info = self.__mytb('') 
     148                c.deploymentsURL = h.url_for(controller='retrieve', \ 
     149                                             action='viewDeployments', \ 
     150                                             uri = self.uri) 
    108151                templateType = "genshi" 
    109152 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/layout/ndg2.css

    r4268 r4283  
    2020{ 
    2121width: 100%; 
     22} 
     23 
     24.working  
     25{ 
     26/* this is the animated loading icon */ 
     27    background: #fff url(http://l.yimg.com/us.yimg.com/i/nt/ic/ut/bsc/busyarr_1.gif) no-repeat 26em 50%; 
    2228} 
    2329 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom.html

    r4244 r4283  
    77        <head> 
    88        <title py:content="c.atom.title">title</title> 
     9                <script src="http://yui.yahooapis.com/3.0.0pr1/build/yui/yui-min.js" type="text/javascript"></script>  
     10                <script type="text/javascript" src="$g.server/js/queueDeployments.js"/> 
    911    </head> 
    1012    <body> 
     
    3436                        <div py:replace="SummaryParameterList(c.atom.parameters)"/> 
    3537                        <div py:replace="Coverage(None)"/> 
    36                         <div py:replace="FullDeployments(c.atom.ME.deployments)"/> 
    37                         <div py:replace="SummaryDeployments(c.atom.ME.deployments)"/> 
     38                        <div id="deploymentsPlaceholder" /> 
    3839                        <div py:replace="People('Responsible Parties',  
    3940                                c.atom.ME.responsibleParties, None)"/> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_creator.html

    r4241 r4283  
    44        xmlns:xi="http://www.w3.org/2001/XInclude"> 
    55        <xi:include href="layout.html" /> 
    6         <xi:include href="atom_functions.html" /> 
    76        <head> 
    87        <title py:content="c.title">title</title> 
     
    2019                                        <th><label for="providerID">Provider ID:</label></th> 
    2120                                <td> 
    22                                                 ${Markup(h.select('providerID',option_tags=c.providerIDs))} 
     21                                                ${Markup(h.select('providerID',option_tags=c.providerIDs, class_="fullWidth"))} 
    2322                                        </td> 
    2423                                    </tr> 
    2524                                        <tr><th><label for="atomTypeID">Data Type:</label></th> 
    2625                                        <td> 
    27                                                 ${Markup(h.select('atomTypeID',option_tags=c.atomTypes))} 
     26                                                ${Markup(h.select('atomTypeID',option_tags=c.atomTypes, class_="fullWidth"))} 
    2827                                        </td> 
    2928                                    </tr> 
    3029                                    <tr><th><label for="title">Title:</label></th> 
    3130                                        <td> 
    32                                         ${Markup(h.text_field('title',"",width="100%"))} 
     31                                        ${Markup(h.text_field('title',"", class_="fullWidth"))} 
    3332                                                <span py:if="'title' in c.errors" class="error">${c.errors.title}</span> 
    3433                                        </td> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_editor.html

    r4244 r4283  
    4343                                <td> 
    4444                                        <input type="submit" value="Update" /> 
    45                                         <input type="submit" name="cancel" value="Cancel" /> 
     45                                        <input type='button' onclick='history.go(-1)' value='Cancel' /> 
    4646                                </td> 
    4747                                </tr></table> 
     
    4949                        </div> 
    5050 
    51                         <h4> Summary </h4> 
    52                 <div py:replace="txtBlkEd('Summary',c.atom.Summary,'absDiv', 
    53                         c.saveLink2)" id="absDiv"/> 
    54                         <div py:replace="OnlineReferences(c.atom.relatedLinks, c.saveLink)"/> 
     51                <div py:if="c.notDeployment" py:replace="Summary(c.atom.Summary, c.saveLink)"/> 
    5552                        <div py:replace="People('Author', [c.atom.author], c.saveLink)"/> 
    56                         <div py:replace="People('Contributors', c.atom.contributors, c.saveLink)"/> 
    57                         <div py:replace="FullParameterList(c.atom.parameters)"/> 
     53                        <div py:if="c.notDeployment" py:replace="OnlineReferences(c.atom.relatedLinks, c.saveLink)"/> 
     54                        <div py:if="not c.notDeployment" py:replace="Associations(c.atom.relatedLinks, c.addLink, c.saveLink)"/> 
     55                        <div py:if="c.notDeployment" py:replace="People('Contributors', c.atom.contributors, c.saveLink)"/> 
     56                        <div py:if="c.notDeployment" py:replace="FullParameterList(c.atom.parameters)"/> 
     57                        <div py:replace="FullDeployments(c.atom.ME.deployments)"/> 
    5858                        <div py:replace="Coverage(c.saveLink)"/> 
    59                         <div py:replace="FullDeployments(c.atom.ME.deployments)"/> 
    6059                        <div py:replace="People('Responsible Parties',  
    6160                                c.atom.ME.responsibleParties, c.saveLink)"/> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_functions.html

    r4250 r4283  
    99         
    1010    <xi:include href="utils.html" /> 
     11     
     12    <div class="metadataSection" py:def="Summary(summary,editLink)"> 
     13        <?python         
     14                                divID = 'summaryDiv' 
     15                                edID=divID+'ed'  
     16                ?> 
     17        <table py:if="summary or editLink"> 
     18            <tr><td class="linehead"> 
     19                    <table> 
     20                        <tr><td>Summary</td> 
     21                            <span py:if="editLink" py:strip=""> 
     22                                <td align="right"> 
     23                                        <span class="txtBlktog"> 
     24                                        <a href="javascript:;" title="Toggle Form"  
     25                                             onclick="swapLayers('$divID', '$edID'); return false;"> 
     26                                        Add/Edit</a> 
     27                                        </span> 
     28                                    </td> 
     29                            </span> 
     30                                        </tr> 
     31                                </table> 
     32            </td></tr> 
     33            <tr><td> 
     34                <div id = "$divID"> 
     35                                ${Markup(summary)} 
     36                        </div> 
     37                        </td></tr> 
     38                <tr py:if="editLink"><td> 
     39                        <div id="$edID" class="hidden"> 
     40                                        <form action="${editLink}" method="post"> 
     41                                        <table> 
     42                                <tr><td> 
     43                                        ${Markup(h.text_area('Summary',summary, class_="fullWidth", rows="9"))} 
     44                                </td></tr> 
     45                                <tr><td> 
     46                      ${Markup(h.submit(value="Update"))} 
     47                    </td></tr> 
     48                                        </table> 
     49                                        </form> 
     50                        </div> 
     51                        </td></tr> 
     52        </table> 
     53    </div> 
    1154     
    1255    <div class="metadataSection" py:def="People(ptype,listOfPeople,editLink)"> 
     
    124167                </form> 
    125168        </div> 
    126  
     169         
    127170     
    128171    <div class="metadataSection" py:def="SummaryDeployments(deployments)" id="summaryDeployment"> 
     
    137180            </td></tr> 
    138181                        <tr><td> 
    139                         <table> 
     182                        <table id="deploymentsTable"> 
    140183                        <tr> 
    141184                        <td class="cellhead">Activities</td> 
     
    235278                                if not displayVal: 
    236279                                                        from ndgUtils.vocabtermdata import VocabTermData as VTD 
    237                                                         terms = VTD().getValidTypes(VTD.ONLINE_REF_CATEGORY) 
    238                                                         for term in terms: 
    239                                                                 if link.rel.endswith(term.termID) and link.rel.startswith(term.vocabURL): 
    240                                                                         displayVal = term.title 
    241                                                                         break 
     280                                                        vti = VTD().getTermItemfromFullVocabURI(link.rel) 
     281                                                        displayVal = vti.title 
    242282                                if not displayVal: 
    243283                                                        displayVal = link.href or link.rel 
     
    257297        </table> 
    258298    </div> 
     299 
     300    <div class="metadataSection" py:def="Associations(links, addLink, editLink)"> 
     301        <?python         
     302                                divID = 'associationsDiv' 
     303                                edID = divID+'ed'  
     304                ?> 
     305                <table py:if="links or editLink"> 
     306            <tr><td class="linehead"> 
     307                    <table> 
     308                        <tr><td>Associated Data</td> 
     309                            <span py:if="addLink" py:strip=""> 
     310                                <td align="right"> 
     311                                        <span class="txtBlktog"> 
     312                                        <a href="$addLink">Add</a> 
     313                                        <a py:if="links" href="javascript:;" title="Toggle Form"  
     314                                             onclick="swapLayers('$divID', '$edID'); return false;"> 
     315                                        Edit</a> 
     316                                        </span> 
     317                                    </td> 
     318                            </span> 
     319                                        </tr> 
     320                                </table> 
     321                                </td> 
     322                        </tr> 
     323            <tr><td> 
     324                <div id = "$divID"> 
     325                                <div py:replace="AssociationsTable(links, None)"/> 
     326                        </div> 
     327                        </td></tr> 
     328                <tr py:if="editLink"><td> 
     329                        <div id="$edID" class="hidden"> 
     330                                <div py:replace="AssociationsTable(links, editLink)"/> 
     331                        </div> 
     332                        </td></tr> 
     333                        <tr><td> 
     334            </td></tr> 
     335        </table> 
     336    </div> 
     337 
     338 
     339        <div py:def="AssociationsTable(links, editLink)"> 
     340                <form action="${editLink}" method="post"> 
     341            <table> 
     342                <tr py:if="links"> 
     343                                <th align="left">Type</th> 
     344                        <th align="left">Title</th> 
     345                        <th py:if="links" align="center">Remove</th> 
     346                </tr> 
     347                                <?python 
     348                                        from ndgUtils.models.Atom import Atom as a 
     349                                        refLabel = a.ATOM_REF_LABEL + "." 
     350                                ?> 
     351                    <tr py:for="i, link in enumerate(links)"> 
     352                            <?python 
     353                        # get the default display value 
     354                        displayVal = link.title or link.href 
     355                        from ndgUtils.vocabtermdata import VocabTermData as VTD 
     356                        vti = VTD().getTermItemfromFullVocabURI(link.rel) 
     357                            ?> 
     358                            <td>${vti.title}</td> 
     359                            <td><a href="$link.href">${displayVal}</a></td> 
     360                        <td py:if="editLink and links" align="center"> 
     361                                ${Markup(h.check_box(refLabel + str(i) + '.remove'))} 
     362                        </td> 
     363                                </tr> 
     364                        <tr py:if="editLink"><td> 
     365                    ${Markup(h.submit(value="Update"))} 
     366                </td></tr> 
     367                        </table> 
     368                </form> 
     369        </div> 
    259370 
    260371 
     
    446557                                <td colspan="2" align="center"> 
    447558                                <span py:if="editLink" py:strip=""> 
    448                                 ${Markup(h.text_field('maxY', c.atom.maxY))} 
     559                                <span class="cellhead">N</span> ${Markup(h.text_field('maxY', c.atom.maxY))} 
    449560                                </span> 
    450561                        <span py:if="not editLink" py:strip=""> 
    451                         ${c.atom.maxY} 
     562                        <span class="cellhead">N</span> ${c.atom.maxY} 
    452563                                </span> 
    453564                                </td></tr> 
    454565                        <tr><td align="center"> 
    455566                                <span py:if="editLink" py:strip=""> 
    456                                 ${Markup(h.text_field('minX', c.atom.minX))} 
     567                                <span class="cellhead">W</span> ${Markup(h.text_field('minX', c.atom.minX))} 
    457568                                </span> 
    458569                        <span py:if="not editLink" py:strip=""> 
    459                         ${c.atom.minX} 
     570                        <span class="cellhead">W</span> ${c.atom.minX} 
    460571                                </span> 
    461572                        </td><td align="center"> 
    462573                                <span py:if="editLink" py:strip=""> 
    463                                 ${Markup(h.text_field('maxX', c.atom.maxX))} 
     574                                <span class="cellhead">E</span> ${Markup(h.text_field('maxX', c.atom.maxX))} 
    464575                                </span> 
    465576                        <span py:if="not editLink" py:strip=""> 
    466                         ${c.atom.maxX} 
     577                        <span class="cellhead">E</span> ${c.atom.maxX} 
    467578                                </span> 
    468579                        </td></tr> 
    469580                        <tr><td colspan="2" align="center"> 
    470581                                <span py:if="editLink" py:strip=""> 
    471                                 ${Markup(h.text_field('minY', c.atom.minY))} 
     582                                <span class="cellhead">S</span> ${Markup(h.text_field('minY', c.atom.minY))} 
    472583                                </span> 
    473584                        <span py:if="not editLink" py:strip=""> 
    474                         ${c.atom.minY} 
     585                        <span class="cellhead">S</span> ${c.atom.minY} 
    475586                                </span> 
    476587                        </td></tr> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/atom_list.html

    r4273 r4283  
    1515                            <h3>  $c.title </h3> 
    1616                        <div class="headingblock"> 
    17                                 <form action="${h.url_for(controller = 'listatom', action='list', searchData='1')}" method="post"> 
     17                                <form action="${h.url_for(controller = 'listatom', action='list', searchData='1', associatedAtomID = c.addAtom)}" method="post"> 
    1818                                <table> 
    1919                                        <tr><td colspan="3"  class="linehead">Search filter</td></tr> 
     
    5050                                        <tr><td>No data found for search selections</td></tr> 
    5151                                </table> 
    52                                 <form action="${h.url_for(controller = 'listatom', action='addAtom')}" method="post"> 
     52                                <form action="${h.url_for(controller = 'editatom', action='addAtom')}" method="post"> 
    5353                        <table width="100%" py:if="c.results" border="1"> 
    5454                                <tr> 
     
    6161                                <th py:if="c.addAtom" align="center">Add</th> 
    6262                                </tr> 
     63                                <?python  
     64                                                from ndgUtils.vocabtermdata import VocabTermData as VTD 
     65                                        vtd = VTD() 
     66                                        from ndgUtils.models.Atom import Atom as a 
     67                                        refLabel = a.ATOM_REF_LABEL + "." 
     68                                ?> 
    6369                                <tr py:for="atom in c.results"> 
     70                                <?python 
     71                                                subtype = "None" 
     72                                                if atom.subtype: 
     73                                                        #vti = vtd.getTermItemfromFullVocabURI(atom.subtype) 
     74                                                        #subType = vti.title 
     75                                                        subtype = atom.subtype 
     76                                                         
     77                                                vti = vtd.getVTI(atom.type) 
     78                                                type = vti.title 
     79                                        ?> 
    6480                                <td> 
    6581                                <a href="$atom.href">Edit</a> 
     
    7288                                </td> 
    7389                                <td> 
    74                                 ${Markup(atom.type)} 
     90                                ${Markup(type)} 
    7591                                </td> 
    7692                                <td> 
     
    7894                                </td> 
    7995                                <td> 
    80                                 ${Markup(atom.subtype)} 
     96                                ${Markup(subType)} 
    8197                                </td> 
    8298                                <td py:if="c.addAtom" align="center"> 
    83                                 ${Markup(h.check_box('add.' + atom.id))} 
     99                                ${Markup(h.check_box(refLabel + atom.id))} 
    84100                                </td> 
    85101                                </tr> 
    86                                 <tr py:if="c.addAtom"><td> 
     102                                <tr py:if="c.addAtom"> 
     103                                <td colspan = "6"/> 
     104                                <td> 
    87105                            ${Markup(h.submit(value="Add selections"))} 
    88106                        </td></tr> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/htmlUtilities.py

    r4268 r4283  
    6969    if defaultVal: 
    7070        r+='<option value="%s--%s">%s</option>' %(defaultVal.vocabURL, \ 
    71             defaultVal.termID, defaultVal.termID) 
     71            defaultVal.termID, defaultVal.title or defaultVal.termID) 
    7272 
    7373    # NB, need to include both vocabURL and term ID for the data to be 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/layout.html

    r4213 r4283  
    4343      <div py:replace="footer()"/> 
    4444    </div> 
     45    <input py:if="c.atom and c.atom.ME" type="hidden" id="datasetID" name="datasetID" value="${c.atom.ME.providerID}__ATOM__${c.atom.datasetID}" /> 
    4546    </body> 
    4647  </py:match> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/utils.html

    r4241 r4283  
    5252     
    5353                  
    54  
    5554    <div py:def="txtBlkEd(key,default,divID,link)" class="txtBlk"> 
    5655        <?python edID=divID+'ed'  
Note: See TracChangeset for help on using the changeset viewer.