Changeset 2935

Show
Ignore:
Timestamp:
02/21/07 14:20:16 (2 years ago)
Author:
mscott
Message:

Show form for calling a transaction method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/config/routing.py

    r2926 r2935  
    2222     
    2323    map.resource('extent', 'extents', 
    24                  path_prefix='/databases/:db_id') 
     24                 path_prefix='/databases/:db_id', 
     25                 ) 
    2526     
    2627    map.resource('query', 'queries', 
    2728                 controller='extent_queries', 
    2829                 path_prefix='/databases/:db_id/extents/:extent_id', 
    29                  name_prefix='extent_') 
     30                 name_prefix='extent_', 
     31                 ) 
    3032     
    3133    map.resource('transaction', 'transactions', 
    3234                 controller='extent_transactions', 
    3335                 path_prefix='/databases/:db_id/extents/:extent_id', 
    34                  name_prefix='extent_') 
     36                 name_prefix='extent_', 
     37                 member=dict(call='POST'), 
     38                 ) 
    3539 
    3640    map.connect(':controller/:action/:id') 
  • sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/controllers/extent_transactions.py

    r2931 r2935  
    1515        c.extent = db.extent(extent_id) 
    1616        return render_response('/extent_transactions/index.html') 
     17     
     18    def call(self, db_id, extent_id, id): 
     19        """POST /id;call: Call the transaction method.""" 
     20        # url_for('call_extent_transaction', id=ID) 
     21        pass 
    1722     
    1823    def create(self): 
     
    4449        pass 
    4550     
    46     def show(self, id, format='html'): 
     51    def show(self, db_id, extent_id, id, format='html'): 
    4752        """GET /id: Show a specific item.""" 
    4853        # url_for('extent_transaction', id=ID) 
    49         pass 
     54        c.dbs = dbs = self.dbs 
     55        c.db_id = db_id 
     56        c.db = db = dbs[db_id] 
     57        c.extent = db.extent(extent_id) 
     58        c.method = c.extent.t[id] 
     59        c.method_id = id 
     60        return render_response('/extent_transactions/show.html') 
    5061     
    5162    def edit(self, id, format='html'): 
  • sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/templates/extent_transactions/index.html

    r2931 r2935  
    3232                    % for name in c.extent.t: 
    3333                        <li> 
    34                             <a href="#">${h.label(c.extent.t[name])}</a> 
     34                            <a href="${h.url_for('extent_transaction', db_id=c.db_id, extent_id=c.extent.name, id=name)}">${h.label(c.extent.t[name])}</a> 
    3535                        </li> 
    3636                    % endfor 
  • sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/tests/functional/test_extent_transactions.py

    r2931 r2935  
    88            url_for('extent_transactions', db_id='db', extent_id='Foo')) 
    99        assert 'Create' in response 
     10 
     11    def test_create(self): 
     12        response = self.app.get( 
     13            url_for('extent_transaction', db_id='db', extent_id='Foo', 
     14            id='create')) 
     15        assert 'Call' in response