comparison rhodecode/controllers/shortlog.py @ 1249:13b507b73190 beta

fixes issue #166, made clone-uri use the pylons build in url generators, that way it's more safe.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 12 Apr 2011 19:48:02 +0200
parents 50e41777675d
children c6b811f11c94
comparison
equal deleted inserted replaced
1248:5da25ade33df 1249:13b507b73190
23 # You should have received a copy of the GNU General Public License 23 # You should have received a copy of the GNU General Public License
24 # along with this program. If not, see <http://www.gnu.org/licenses/>. 24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 25
26 import logging 26 import logging
27 27
28 from pylons import tmpl_context as c, request 28 from pylons import tmpl_context as c, request, url
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 33
40 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 40 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
41 'repository.admin') 41 'repository.admin')
42 def __before__(self): 42 def __before__(self):
43 super(ShortlogController, self).__before__() 43 super(ShortlogController, self).__before__()
44 44
45 def index(self): 45 def index(self, repo_name):
46 p = int(request.params.get('page', 1)) 46 p = int(request.params.get('page', 1))
47 size = int(request.params.get('size', 20))
48
49 def url_generator(**kw):
50 return url('shortlog_home', repo_name=repo_name, size=size, **kw)
51
47 c.repo_changesets = RepoPage(c.rhodecode_repo, page=p, 52 c.repo_changesets = RepoPage(c.rhodecode_repo, page=p,
48 items_per_page=20) 53 items_per_page=size,
54 url=url_generator)
49 c.shortlog_data = render('shortlog/shortlog_data.html') 55 c.shortlog_data = render('shortlog/shortlog_data.html')
50 if request.params.get('partial'): 56 if request.params.get('partial'):
51 return c.shortlog_data 57 return c.shortlog_data
52 r = render('shortlog/shortlog.html') 58 r = render('shortlog/shortlog.html')
53 return r 59 return r