pombreda / formalchemy

Automatically exported from code.google.com/p/formalchemy
MIT License
0 stars 0 forks source link

ext.pylons - GenerationException: url_for could not generate URL. Called with args: () {'page': 2} #123

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hi All!

I use FormAlchemy-1.3 and WebHelpers-0.6.4

Why should I import "from formalchemy.ext.pylons import maps" does it needed?
When I set explicit=True at Mapper all models data that need paging throw
that error:

File
'/home/sector119/devel/eps_env/lib/python2.6/site-packages/FormAlchemy-1.3-py2.6
.egg/formalchemy/ext/pylons/controller.py',
line 257 in index
  return self.render_grid(format=format, fs=fs, id=None,
pager=page.pager(**self.pager_args))
File
'/home/sector119/devel/eps_env/lib/python2.6/site-packages/WebHelpers-0.6.4-py2.
6.egg/webhelpers/paginate.py',
line 688 in pager
  result = re.sub(r'~(\d+)~', _range, format)
File '/home/sector119/devel/python2.6_env/lib/python2.6/re.py', line 151 in sub
  return _compile(pattern, 0).sub(repl, string, count)
File
'/home/sector119/devel/eps_env/lib/python2.6/site-packages/WebHelpers-0.6.4-py2.
6.egg/webhelpers/paginate.py',
line 661 in _range
  nav_items.append( _pagerlink(thispage, text) )
File
'/home/sector119/devel/eps_env/lib/python2.6/site-packages/WebHelpers-0.6.4-py2.
6.egg/webhelpers/paginate.py',
line 597 in _pagerlink
  link_url = url_for(**link_params)
File
'/home/sector119/devel/eps_env/lib/python2.6/site-packages/Routes-1.11-py2.6.egg
/routes/util.py',
line 280 in url_for
  (args, kargs))
GenerationException: url_for could not generate URL. Called with args: ()
{'page': 2}

% cat controllers/admin.py
import logging

from eps.lib.base import *
from eps import model
from formalchemy.ext.pylons.controller import ModelsController

log = logging.getLogger(__name__)

class AdminControllerBase(BaseController):
    requires_auth = True

    model = model
    forms = None

    def Session(self):
        return model.meta.Session

AdminController = ModelsController(AdminControllerBase,
prefix_name='admin', member_name='model', collection_name='models')

% cat config/routing.py
from pylons import config
from routes import Mapper
from formalchemy.ext.pylons import maps

def make_map():
    """Create, configure and return the routes Mapper"""
    map = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'], explicit=True)
    map.minimization = False

    # The ErrorController route (handles 404/500 error pages); it should
    # likely stay at the top, ensuring it can always be resolved
    map.connect('/error/{action}', controller='error')
    map.connect('/error/{action}/{id}', controller='error')

    map.connect('admin', '/admin', controller='admin', action='models')
    map.resource('model', 'models', path_prefix='/admin/{model_name}',
controller='admin')

    map.connect('/{controller}/{action}')
    map.connect('/{controller}/{action}/{id}')

    return map

Original issue reported on code.google.com by sector...@gmail.com on 28 Oct 2009 at 5:06

GoogleCodeExporter commented 9 years ago
"Why should I import "from formalchemy.ext.pylons import maps" does it needed?" 
No.
You no longuer need this.

The bug with explicit routes is fixed. Page need routing args as extra keyword
arguments when explicit is true.

Original comment by gael.pas...@gmail.com on 8 Nov 2009 at 12:35