Ignore:
Timestamp:
25/06/07 22:01:52 (12 years ago)
Author:
lawrence
Message:

Interim check in for ows browse, some support for
populating the history and shopping cart tabs.
Some support for granules in browse.

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

Legend:

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

    r2646 r2647  
    5555    map.connect('discovery',controller='discovery') 
    5656    map.connect('updatetab/:value',controller='tabs',action='update') 
     57    map.connect('addSelection/:uri/:name',controller='tabs',action='addSelection') 
     58    map.connect('clear/:value',controller='tabs',action='clear') 
    5759   
    5860    return map 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/retrieve.py

    r2646 r2647  
    6565                c.doc=stubB.stubB(x.tree,self.cf) 
    6666                c.tbinfo=self.__mytb() 
     67                name=c.doc.abbreviation 
    6768            elif self.uri.schema=='NDG-A0': 
    6869                r='csml' 
     
    8687            c.xml='<div class="error">%s</div>'%x 
    8788            r='content' 
     89             
     90        if 'ndgSec' in session: 
     91            #we can update the history 
     92            if 'history' not in session: 
     93                session['history']=[(self.uri,name),] 
     94            else: 
     95                rb=Utilities.RingBuffer(10) 
     96                for i in session['history']: rb.append(i) 
     97                rb.append((uri,name)) 
     98                session['history']=rb.tolist() 
     99            session.save() 
     100        
    88101        return render_response(r) 
    89102     
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/tabs.py

    r2639 r2647  
    11from ows_server.lib.base import * 
     2from ows_server.models import Utilities 
    23 
    34class TabsController(BaseController): 
     
    1516        return render_response('cart',fragment=True)  
    1617     
     18    def addSelection(self,uri,name): 
     19        if 'selection' not in session: 
     20            session['selection']=[(uri,name),] 
     21        else: 
     22            rb=Utilities.RingBuffer(10) 
     23            for i in session['selection']: rb.append(i) 
     24            rb.append((uri,name)) 
     25            session['selection']=rb.tolist() 
     26        session.save() 
     27        return render_response('cart',fragment=True) 
     28             
     29    def clear(self,value): 
     30         
     31        if value=='History': 
     32            session['history']=[] 
     33        elif value=='Selection': 
     34            session['selection']=[] 
     35        session.save() 
     36        return render_response('cart',fragment=True) 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/models/stubB.py

    r2643 r2647  
    2424        from elementtree import ElementTree as ET 
    2525 
    26 def idconvert(helper,elem,config=None): 
     26def idconvert(helper,elem,config=None,idelem='dgMetadataID'): 
    2727    ''' Given an elementTree element for a dgMetadataID, create 
    2828    a standard ndg URI, and produce an ndgObject ''' 
    29     id=helper.find(elem,'dgMetadataID') 
     29    id=helper.find(elem,idelem) 
    3030    entryID='%s__%s__%s'%(helper.getText(id,'repositoryIdentifier'), 
    3131                            helper.getText(id,'schemeIdentifier'), 
     
    5353            self.constraints=AccessControl(helper.find(elem,'accessControlPolicy')) 
    5454            self.name=name 
    55             self.uri=idconvert(helper,elem,config) 
     55            self.uri=idconvert(helper,elem,config,idelem='dataModelID') 
    5656            self.entryID=self.uri.uri 
    5757 
     
    9696            i+=1 
    9797            #following needs to be refactored when granule definition includes a proper name ... 
    98             name=wrapGetText(item,'name') 
     98            name=wrapGetText(item,'dgGranuleSummary/dgGranuleName') 
    9999            if name=='': name='Granule %s'%i 
    100100            self.granules.append(dataGranule(self.helper,item,self.config,name=name)) 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/public/layout/ndg2.css

    r2643 r2647  
    1818    border-left:1px solid wheat; border-right:1px solid wheat; border-top:1px solid wheat; } 
    1919.tabcontent {padding:2px 10px; background: wheat; clear:both;} 
    20  
     20.tabcontent ul {list-style:none; font-size:50%; margin-left:0; padding-left:0; } 
    2121/* Main Content */ 
    2222 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/ndgPage.kid

    r2639 r2647  
    5454                    <ul py:if="'selection' in session"> 
    5555                        <li py:for="item in session['selection']"> 
    56                         ${XML(h.link_to(item[0],item[1]))}</li> 
     56                        ${XML(h.link_to(item[1],item[0]))}</li> 
    5757                    </ul> 
     58                    ${XML(h.link_to_remote("Clear",dict(update="Left", url=h.url_for(controller="tabs", action="clear",value="Selection"))))} 
    5859                </div> 
    5960            </div> 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/stubB.kid

    r2646 r2647  
    3030                    </ul></p> 
    3131                </div> 
     32                <div py:if="c.doc.granules!=[]" id="Granules"> 
     33                    <h4> Granules </h4> 
     34                    <table><tbody> 
     35                        <tr><td>Select</td><td>Access Control</td><td>Granule</td></tr> 
     36                        <tr py:for="granule in c.doc.granules"> 
     37                            <td width="10%"><span class="selectme" py:if="'ndgSec' in session"> 
     38                            ${XML(h.link_to_remote("Select",dict(update="Left", url=h.url_for(controller="tabs", action="addSelection",uri=granule.entryID,name=granule.name))))} 
     39                            </span></td><td width="10%"><span class="key"/></td> 
     40                            <td><a href="/view/$granule.entryID">$granule.name</a></td> 
     41                        </tr> 
     42                    </tbody></table> 
     43                </div> 
     44                 
    3245            </div> <!-- Metadata Div Ends --> 
    3346        
    3447            <div id="Corrections"> 
    35             <p> Please use this  
    36                 <span py:if="'ndgSec' in session"> 
     48            <p py:if="'ndgSec' in session"> Please use this  
     49                <span> 
    3750                    ${XML(h.link_to_remote("link",dict(update="Corrections", url=h.url_for(action='askCorrect'))))} 
    3851                </span> to enter any errors in the metadata record above. 
Note: See TracChangeset for help on using the changeset viewer.