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