Mercurial > kallithea
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, |