--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -27,6 +27,7 @@
from allura.lib.widgets.repo import SCMMergeRequestWidget, SCMMergeRequestFilterWidget
from allura.lib.widgets.repo import SCMMergeRequestDisposeWidget, SCMCommitBrowserWidget
from allura import model as M
+from allura.lib.widgets import form_fields as ffw
from .base import BaseController
@@ -380,6 +381,8 @@
TreeBrowserClass=None
revision_widget = SCMRevisionWidget()
log_widget=SCMLogWidget()
+ page_list=ffw.PageList()
+ DEFAULT_PAGE_LIMIT = 25
def __init__(self, revision):
self._revision = revision
@@ -389,13 +392,20 @@
self.tree = self.TreeBrowserClass(self._commit, tree=self._commit.tree)
@expose('jinja:allura:templates/repo/commit.html')
- def index(self):
+ @validate(dict(page=validators.Int(if_empty=0),
+ limit=validators.Int(if_empty=DEFAULT_PAGE_LIMIT)))
+ def index(self, page=0, limit=DEFAULT_PAGE_LIMIT):
c.revision_widget = self.revision_widget
+ c.page_list = self.page_list
result = dict(commit=self._commit)
if self._commit:
result.update(self._commit.context())
result['artifacts'] = [(t,f) for t in ('added', 'removed', 'changed', 'copied')
for f in self._commit.diffs[t]]
+ limit, page, start = g.handle_paging(limit, page,
+ default=self.DEFAULT_PAGE_LIMIT)
+ result.update(dict(page=page, limit=limit, start=start,
+ count=len(result['artifacts'])))
return result
@expose('jinja:allura:templates/repo/commit_basic.html')