Mercurial > kallithea
comparison rhodecode/controllers/followers.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 | 7efc8dcc0dc4 |
comparison
equal
deleted
inserted
replaced
2844:7b0f803229be | 2845:6b176c679896 |
---|---|
28 | 28 |
29 from rhodecode.lib.helpers import Page | 29 from rhodecode.lib.helpers import Page |
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.model.db import Repository, User, UserFollowing | 32 from rhodecode.model.db import Repository, User, UserFollowing |
33 from rhodecode.lib.utils2 import safe_int | |
33 | 34 |
34 log = logging.getLogger(__name__) | 35 log = logging.getLogger(__name__) |
35 | 36 |
36 | 37 |
37 class FollowersController(BaseRepoController): | 38 class FollowersController(BaseRepoController): |
41 'repository.admin') | 42 'repository.admin') |
42 def __before__(self): | 43 def __before__(self): |
43 super(FollowersController, self).__before__() | 44 super(FollowersController, self).__before__() |
44 | 45 |
45 def followers(self, repo_name): | 46 def followers(self, repo_name): |
46 p = int(request.params.get('page', 1)) | 47 p = safe_int(request.params.get('page', 1), 1) |
47 repo_id = c.rhodecode_db_repo.repo_id | 48 repo_id = c.rhodecode_db_repo.repo_id |
48 d = UserFollowing.get_repo_followers(repo_id)\ | 49 d = UserFollowing.get_repo_followers(repo_id)\ |
49 .order_by(UserFollowing.follows_from) | 50 .order_by(UserFollowing.follows_from) |
50 c.followers_pager = Page(d, page=p, items_per_page=20) | 51 c.followers_pager = Page(d, page=p, items_per_page=20) |
51 | 52 |