Mercurial > kallithea
comparison rhodecode/controllers/pullrequests.py @ 3676:9d2db665ef31 beta
pagination in pull-requests page + UI
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 04 Apr 2013 22:33:41 +0200 |
parents | ec6354949623 |
children | b2575bdb847c 7efc8dcc0dc4 |
comparison
equal
deleted
inserted
replaced
3675:7a5b11c23288 | 3676:9d2db665ef31 |
---|---|
36 | 36 |
37 from rhodecode.lib.compat import json | 37 from rhodecode.lib.compat import json |
38 from rhodecode.lib.base import BaseRepoController, render | 38 from rhodecode.lib.base import BaseRepoController, render |
39 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator,\ | 39 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator,\ |
40 NotAnonymous | 40 NotAnonymous |
41 from rhodecode.lib.helpers import Page | |
41 from rhodecode.lib import helpers as h | 42 from rhodecode.lib import helpers as h |
42 from rhodecode.lib import diffs | 43 from rhodecode.lib import diffs |
43 from rhodecode.lib.utils import action_logger, jsonify | 44 from rhodecode.lib.utils import action_logger, jsonify |
44 from rhodecode.lib.vcs.exceptions import EmptyRepositoryError | 45 from rhodecode.lib.vcs.exceptions import EmptyRepositoryError |
45 from rhodecode.lib.vcs.backends.base import EmptyChangeset | 46 from rhodecode.lib.vcs.backends.base import EmptyChangeset |
51 from rhodecode.model.repo import RepoModel | 52 from rhodecode.model.repo import RepoModel |
52 from rhodecode.model.comment import ChangesetCommentsModel | 53 from rhodecode.model.comment import ChangesetCommentsModel |
53 from rhodecode.model.changeset_status import ChangesetStatusModel | 54 from rhodecode.model.changeset_status import ChangesetStatusModel |
54 from rhodecode.model.forms import PullRequestForm | 55 from rhodecode.model.forms import PullRequestForm |
55 from mercurial import scmutil | 56 from mercurial import scmutil |
57 from rhodecode.lib.utils2 import safe_int | |
56 | 58 |
57 log = logging.getLogger(__name__) | 59 log = logging.getLogger(__name__) |
58 | 60 |
59 | 61 |
60 class PullrequestsController(BaseRepoController): | 62 class PullrequestsController(BaseRepoController): |
138 return (self.rhodecode_user.admin or owner or reviewer) | 140 return (self.rhodecode_user.admin or owner or reviewer) |
139 | 141 |
140 def show_all(self, repo_name): | 142 def show_all(self, repo_name): |
141 c.pull_requests = PullRequestModel().get_all(repo_name) | 143 c.pull_requests = PullRequestModel().get_all(repo_name) |
142 c.repo_name = repo_name | 144 c.repo_name = repo_name |
145 p = safe_int(request.params.get('page', 1), 1) | |
146 | |
147 c.pullrequests_pager = Page(c.pull_requests, page=p, items_per_page=10) | |
148 | |
149 c.pullrequest_data = render('/pullrequests/pullrequest_data.html') | |
150 | |
151 if request.environ.get('HTTP_X_PARTIAL_XHR'): | |
152 return c.pullrequest_data | |
153 | |
143 return render('/pullrequests/pullrequest_show_all.html') | 154 return render('/pullrequests/pullrequest_show_all.html') |
144 | 155 |
145 @NotAnonymous() | 156 @NotAnonymous() |
146 def index(self): | 157 def index(self): |
147 org_repo = c.rhodecode_db_repo | 158 org_repo = c.rhodecode_db_repo |
199 add_other_repo(org_repo.parent) | 210 add_other_repo(org_repo.parent) |
200 c.default_other_repo = org_repo.parent.repo_name | 211 c.default_other_repo = org_repo.parent.repo_name |
201 | 212 |
202 c.default_other_repo_info = other_repos_info[c.default_other_repo] | 213 c.default_other_repo_info = other_repos_info[c.default_other_repo] |
203 c.other_repos_info = json.dumps(other_repos_info) | 214 c.other_repos_info = json.dumps(other_repos_info) |
215 | |
204 return render('/pullrequests/pullrequest.html') | 216 return render('/pullrequests/pullrequest.html') |
205 | 217 |
206 @NotAnonymous() | 218 @NotAnonymous() |
207 def create(self, repo_name): | 219 def create(self, repo_name): |
208 repo = RepoModel()._get_repo(repo_name) | 220 repo = RepoModel()._get_repo(repo_name) |