comparison rhodecode/controllers/shortlog.py @ 2845:6b176c679896 beta

failsafe the GET `page` argument
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 17 Sep 2012 22:17:25 +0200
parents 89efedac4e6c
children d998cc84cf72 a16f9a76c26f
comparison
equal deleted inserted replaced
2844:7b0f803229be 2845:6b176c679896
29 29
30 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator 30 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
31 from rhodecode.lib.base import BaseRepoController, render 31 from rhodecode.lib.base import BaseRepoController, render
32 from rhodecode.lib.helpers import RepoPage 32 from rhodecode.lib.helpers import RepoPage
33 from pylons.controllers.util import redirect 33 from pylons.controllers.util import redirect
34 from rhodecode.lib.utils2 import safe_int
34 35
35 log = logging.getLogger(__name__) 36 log = logging.getLogger(__name__)
36 37
37 38
38 class ShortlogController(BaseRepoController): 39 class ShortlogController(BaseRepoController):
42 'repository.admin') 43 'repository.admin')
43 def __before__(self): 44 def __before__(self):
44 super(ShortlogController, self).__before__() 45 super(ShortlogController, self).__before__()
45 46
46 def index(self, repo_name): 47 def index(self, repo_name):
47 p = int(request.params.get('page', 1)) 48 p = safe_int(request.params.get('page', 1), 1)
48 size = int(request.params.get('size', 20)) 49 size = safe_int(request.params.get('size', 20), 20)
49 50
50 def url_generator(**kw): 51 def url_generator(**kw):
51 return url('shortlog_home', repo_name=repo_name, size=size, **kw) 52 return url('shortlog_home', repo_name=repo_name, size=size, **kw)
52 53
53 c.repo_changesets = RepoPage(c.rhodecode_repo, page=p, 54 c.repo_changesets = RepoPage(c.rhodecode_repo, page=p,