Changeset 4752

Show
Ignore:
Timestamp:
06/15/08 22:01:31 (5 months ago)
Author:
mramm
Message:

Making the new config system work with tg.ext.repoze.who

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tg/middleware.py

    r4751 r4752  
    1313from tw.api import make_middleware as tw_middleware 
    1414 
    15 def setup_tg_wsgi_app(load_environment, default_renderer='genshi',  
    16                       project_model=None, identity=None): 
     15def setup_tg_wsgi_app(load_environment, setup_vars): 
    1716    """Create a base TG app, with all the standard middleware 
    1817     
     
    2019        A required callable, which sets up the basic application 
    2120        evironment. 
    22     ``default_renderer`` 
    23         The name of the default rendering function to be used 
    24         to turn the returned dictionary into the final response string. 
    25     ``project_model`` 
    26         The user's project model file.  This is only required if  
    27         using identity and SQLAlchemy. 
    28     ``identity`` 
    29        The type of authenticator used for user authentication.  
     21    ``setup_vars`` 
     22        A dictionary any special values nessisary for setting up 
     23        the base wsgi app. 
     24.  
    3025    """                   
    3126 
     
    6156        # ToscaWidgets Middleware 
    6257        app = tw_middleware(app, { 
    63             'toscawidgets.framework.default_view': default_renderer, 
     58            'toscawidgets.framework.default_view':  
     59            setup_vars.get('default_renderer', 'genshi') 
    6460            }) 
    6561 
    66         if identity == "sqlalchemy": 
    67             # Identity Middleware 
    68             user_criterion = project_model.User.user_name 
    69             user_id_col = 'user_id' 
    70             app = make_who_middleware(app, config, project_model.User,  
     62        if setup_vars.get('identity', None) == "sqlalchemy": 
     63            # configure identity Middleware 
     64            from tg.ext.repoze.who.middleware import make_who_middleware 
     65            DBSession = setup_vars['identity.dbsession']  
     66            User = setup_vars['identity.user']  
     67            user_criterion = setup_vars['identity.user_criterion']  
     68            user_id_col = setup_vars['identity.user_id_col']  
     69            app = make_who_middleware(app, config, User,  
    7170                                      user_criterion,  
    7271                                      user_id_col,