comparison rhodecode/controllers/forks.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 faffec4abbda
children bf96fd1920c1
comparison
equal deleted inserted replaced
2844:7b0f803229be 2845:6b176c679896
40 from rhodecode.lib.base import BaseRepoController, render 40 from rhodecode.lib.base import BaseRepoController, render
41 from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User 41 from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User
42 from rhodecode.model.repo import RepoModel 42 from rhodecode.model.repo import RepoModel
43 from rhodecode.model.forms import RepoForkForm 43 from rhodecode.model.forms import RepoForkForm
44 from rhodecode.model.scm import ScmModel 44 from rhodecode.model.scm import ScmModel
45 from rhodecode.lib.utils2 import safe_int
45 46
46 log = logging.getLogger(__name__) 47 log = logging.getLogger(__name__)
47 48
48 49
49 class ForksController(BaseRepoController): 50 class ForksController(BaseRepoController):
103 return defaults 104 return defaults
104 105
105 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 106 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
106 'repository.admin') 107 'repository.admin')
107 def forks(self, repo_name): 108 def forks(self, repo_name):
108 p = int(request.params.get('page', 1)) 109 p = safe_int(request.params.get('page', 1), 1)
109 repo_id = c.rhodecode_db_repo.repo_id 110 repo_id = c.rhodecode_db_repo.repo_id
110 d = [] 111 d = []
111 for r in Repository.get_repo_forks(repo_id): 112 for r in Repository.get_repo_forks(repo_id):
112 if not HasRepoPermissionAny( 113 if not HasRepoPermissionAny(
113 'repository.read', 'repository.write', 'repository.admin' 114 'repository.read', 'repository.write', 'repository.admin'