Mercurial > kallithea
annotate rhodecode/controllers/changelog.py @ 3760:6302a1423a4e beta
Use changelog controller for displaying history of files.
step 1 for removing obsolete shortlog
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 15 Apr 2013 21:58:40 +0200 |
parents | b950b884ab87 |
children | c7970889c5c0 |
rev | line source |
---|---|
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
1 # -*- coding: utf-8 -*- |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
2 """ |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
3 rhodecode.controllers.changelog |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
5 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
6 changelog controller for rhodecode |
1130
1cecc7db3106
fixed some limits in changesets and changelogs
Marcin Kuzminski <marcin@python-works.com>
parents:
1109
diff
changeset
|
7 |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
8 :created_on: Apr 21, 2010 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
9 :author: marcink |
1824
89efedac4e6c
2012 copyrights
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com> |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
11 :license: GPLv3, see COPYING for more details. |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
12 """ |
1206
a671db5bdd58
fixed license issue #149
Marcin Kuzminski <marcin@python-works.com>
parents:
1203
diff
changeset
|
13 # This program is free software: you can redistribute it and/or modify |
a671db5bdd58
fixed license issue #149
Marcin Kuzminski <marcin@python-works.com>
parents:
1203
diff
changeset
|
14 # it under the terms of the GNU General Public License as published by |
a671db5bdd58
fixed license issue #149
Marcin Kuzminski <marcin@python-works.com>
parents:
1203
diff
changeset
|
15 # the Free Software Foundation, either version 3 of the License, or |
a671db5bdd58
fixed license issue #149
Marcin Kuzminski <marcin@python-works.com>
parents:
1203
diff
changeset
|
16 # (at your option) any later version. |
1203
6832ef664673
source code cleanup: remove trailing white space, normalize file endings
Marcin Kuzminski <marcin@python-works.com>
parents:
1130
diff
changeset
|
17 # |
252
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
18 # This program is distributed in the hope that it will be useful, |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
21 # GNU General Public License for more details. |
1203
6832ef664673
source code cleanup: remove trailing white space, normalize file endings
Marcin Kuzminski <marcin@python-works.com>
parents:
1130
diff
changeset
|
22 # |
252
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
23 # You should have received a copy of the GNU General Public License |
1206
a671db5bdd58
fixed license issue #149
Marcin Kuzminski <marcin@python-works.com>
parents:
1203
diff
changeset
|
24 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
25 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
26 import logging |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
27 import traceback |
592
0a48c1ec04fc
#37 fixed json imports for python2.5
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
28 |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
29 from pylons import request, url, session, tmpl_context as c |
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
30 from pylons.controllers.util import redirect |
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
31 from pylons.i18n.translation import _ |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
699
diff
changeset
|
32 |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
33 import rhodecode.lib.helpers as h |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
361
diff
changeset
|
34 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
1045
3fc9183e05dd
another major codes rewrite:
Marcin Kuzminski <marcin@python-works.com>
parents:
1038
diff
changeset
|
35 from rhodecode.lib.base import BaseRepoController, render |
1098
91ddd4db4614
Added dedicated repo pager to support reversed new way slicing method of vcs and get_changesets method
Marcin Kuzminski <marcin@python-works.com>
parents:
1083
diff
changeset
|
36 from rhodecode.lib.helpers import RepoPage |
1514
87ec80c280bb
fixed issues with python2.5
Marcin Kuzminski <marcin@python-works.com>
parents:
1434
diff
changeset
|
37 from rhodecode.lib.compat import json |
2380
0c7dc3402efa
Unified DAG generation for hg and git
Marcin Kuzminski <marcin@python-works.com>
parents:
2370
diff
changeset
|
38 from rhodecode.lib.graphmod import _colored, _dagwalker |
3760
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
39 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetDoesNotExistError,\ |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
40 ChangesetError, NodeDoesNotExistError |
2845
6b176c679896
failsafe the GET `page` argument
Marcin Kuzminski <marcin@python-works.com>
parents:
2632
diff
changeset
|
41 from rhodecode.lib.utils2 import safe_int |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
42 |
318
fdf9f6ee5217
Implemented permissions into hg app, secured admin controllers, templates and repository specific controllers
Marcin Kuzminski <marcin@python-works.com>
parents:
291
diff
changeset
|
43 log = logging.getLogger(__name__) |
93
aec4c0071cb3
added empty controllers for branches tags files graph, routing and test for them
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44 |
1212 | 45 |
1045
3fc9183e05dd
another major codes rewrite:
Marcin Kuzminski <marcin@python-works.com>
parents:
1038
diff
changeset
|
46 class ChangelogController(BaseRepoController): |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
47 |
93
aec4c0071cb3
added empty controllers for branches tags files graph, routing and test for them
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
48 def __before__(self): |
192
f191f99f59c9
full changelog caching, secured changelog with LoginRequired, some minor changes in graph
Marcin Kuzminski <marcin@python-works.com>
parents:
142
diff
changeset
|
49 super(ChangelogController, self).__before__() |
1130
1cecc7db3106
fixed some limits in changesets and changelogs
Marcin Kuzminski <marcin@python-works.com>
parents:
1109
diff
changeset
|
50 c.affected_files_cut_off = 60 |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
51 |
3749
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
52 def _graph(self, repo, revs_int, repo_size, size, p): |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
53 """ |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
54 Generates a DAG graph for repo |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
55 |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
56 :param repo: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
57 :param revs_int: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
58 :param repo_size: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
59 :param size: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
60 :param p: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
61 """ |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
62 if not revs_int: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
63 c.jsdata = json.dumps([]) |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
64 return |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
65 |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
66 data = [] |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
67 revs = revs_int |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
68 |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
69 dag = _dagwalker(repo, revs, repo.alias) |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
70 dag = _colored(dag) |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
71 for (id, type, ctx, vtx, edges) in dag: |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
72 data.append(['', vtx, edges]) |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
73 |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
74 c.jsdata = json.dumps(data) |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
75 |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
76 @LoginRequired() |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
77 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
78 'repository.admin') |
3760
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
79 def index(self, repo_name, revision=None, f_path=None): |
213 | 80 limit = 100 |
1864
baef43bc457c
revert default to 20, for large repositories it's better to go less and have it faster.
Marcin Kuzminski <marcin@python-works.com>
parents:
1850
diff
changeset
|
81 default = 20 |
3748
9d743ca9cede
usage of request.GET is now more consistent
Marcin Kuzminski <marcin@python-works.com>
parents:
3747
diff
changeset
|
82 if request.GET.get('size'): |
9d743ca9cede
usage of request.GET is now more consistent
Marcin Kuzminski <marcin@python-works.com>
parents:
3747
diff
changeset
|
83 c.size = max(min(safe_int(request.GET.get('size')), limit), 1) |
192
f191f99f59c9
full changelog caching, secured changelog with LoginRequired, some minor changes in graph
Marcin Kuzminski <marcin@python-works.com>
parents:
142
diff
changeset
|
84 session['changelog_size'] = c.size |
f191f99f59c9
full changelog caching, secured changelog with LoginRequired, some minor changes in graph
Marcin Kuzminski <marcin@python-works.com>
parents:
142
diff
changeset
|
85 session.save() |
142
f7218849798a
Changeg graph to changelog, and changelog to shortlog
Marcin Kuzminski <marcin@python-works.com>
parents:
127
diff
changeset
|
86 else: |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
276
diff
changeset
|
87 c.size = int(session.get('changelog_size', default)) |
2628
4548912f48c8
fixes issue #502, float division error on setting maxsize of changelog to 0
Marcin Kuzminski <marcin@python-works.com>
parents:
2520
diff
changeset
|
88 # min size must be 1 |
4548912f48c8
fixes issue #502, float division error on setting maxsize of changelog to 0
Marcin Kuzminski <marcin@python-works.com>
parents:
2520
diff
changeset
|
89 c.size = max(c.size, 1) |
3748
9d743ca9cede
usage of request.GET is now more consistent
Marcin Kuzminski <marcin@python-works.com>
parents:
3747
diff
changeset
|
90 p = safe_int(request.GET.get('page', 1), 1) |
9d743ca9cede
usage of request.GET is now more consistent
Marcin Kuzminski <marcin@python-works.com>
parents:
3747
diff
changeset
|
91 branch_name = request.GET.get('branch', None) |
3760
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
92 c.changelog_for_path = f_path |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
93 try: |
3760
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
94 |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
95 if f_path: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
96 log.debug('generating changelog for path %s' % f_path) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
97 # get the history for the file ! |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
98 tip_cs = c.rhodecode_repo.get_changeset() |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
99 try: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
100 collection = tip_cs.get_file_history(f_path) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
101 except (NodeDoesNotExistError, ChangesetError): |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
102 #this node is not present at tip ! |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
103 try: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
104 cs = self.__get_cs_or_redirect(revision, repo_name) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
105 collection = cs.get_file_history(f_path) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
106 except RepositoryError, e: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
107 h.flash(str(e), category='warning') |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
108 redirect(h.url('changelog_home', repo_name=repo_name)) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
109 collection = list(reversed(collection)) |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
110 else: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
111 collection = c.rhodecode_repo.get_changesets(start=0, |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
112 branch_name=branch_name) |
3747
600ffde2634c
changelog pagination with branch filtering now uses
Marcin Kuzminski <marcin@python-works.com>
parents:
3573
diff
changeset
|
113 c.total_cs = len(collection) |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
114 |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
115 c.pagination = RepoPage(collection, page=p, item_count=c.total_cs, |
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
116 items_per_page=c.size, branch=branch_name) |
1884
0614862a20ec
Added number of comments in changelog for each changeset
Marcin Kuzminski <marcin@python-works.com>
parents:
1864
diff
changeset
|
117 collection = list(c.pagination) |
3747
600ffde2634c
changelog pagination with branch filtering now uses
Marcin Kuzminski <marcin@python-works.com>
parents:
3573
diff
changeset
|
118 page_revisions = [x.raw_id for x in c.pagination] |
2520
a1e156503afe
Fixed calls to Session in db model
Marcin Kuzminski <marcin@python-works.com>
parents:
2391
diff
changeset
|
119 c.comments = c.rhodecode_db_repo.get_comments(page_revisions) |
2215
2c2bdaeca912
code-review initial
Marcin Kuzminski <marcin@python-works.com>
parents:
2204
diff
changeset
|
120 c.statuses = c.rhodecode_db_repo.statuses(page_revisions) |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
121 except (RepositoryError, ChangesetDoesNotExistError, Exception), e: |
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
122 log.error(traceback.format_exc()) |
3573
881ae12b3c7d
report ChangesetDoesNotExistError as an error but don't lose the repo context
Mads Kiilerich <madski@unity3d.com>
parents:
2845
diff
changeset
|
123 h.flash(str(e), category='error') |
881ae12b3c7d
report ChangesetDoesNotExistError as an error but don't lose the repo context
Mads Kiilerich <madski@unity3d.com>
parents:
2845
diff
changeset
|
124 return redirect(url('changelog_home', repo_name=c.repo_name)) |
1656
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
125 |
833f9dec0a06
implemented #44 - branch filtering in changelog, aka branch browser
Marcin Kuzminski <marcin@python-works.com>
parents:
1514
diff
changeset
|
126 c.branch_name = branch_name |
1884
0614862a20ec
Added number of comments in changelog for each changeset
Marcin Kuzminski <marcin@python-works.com>
parents:
1864
diff
changeset
|
127 c.branch_filters = [('', _('All Branches'))] + \ |
0614862a20ec
Added number of comments in changelog for each changeset
Marcin Kuzminski <marcin@python-works.com>
parents:
1864
diff
changeset
|
128 [(k, k) for k in c.rhodecode_repo.branches.keys()] |
3760
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
129 _revs = [] |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
130 if not f_path: |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
131 _revs = [x.revision for x in c.pagination] |
6302a1423a4e
Use changelog controller for displaying history of files.
Marcin Kuzminski <marcin@python-works.com>
parents:
3749
diff
changeset
|
132 self._graph(c.rhodecode_repo, _revs, c.total_cs, c.size, p) |
3747
600ffde2634c
changelog pagination with branch filtering now uses
Marcin Kuzminski <marcin@python-works.com>
parents:
3573
diff
changeset
|
133 |
142
f7218849798a
Changeg graph to changelog, and changelog to shortlog
Marcin Kuzminski <marcin@python-works.com>
parents:
127
diff
changeset
|
134 return render('changelog/changelog.html') |
f7218849798a
Changeg graph to changelog, and changelog to shortlog
Marcin Kuzminski <marcin@python-works.com>
parents:
127
diff
changeset
|
135 |
3749
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
136 @LoginRequired() |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
137 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', |
b950b884ab87
auth decorators are not used anymore on __before__
Marcin Kuzminski <marcin@python-works.com>
parents:
3748
diff
changeset
|
138 'repository.admin') |
1431
d5d7c40e8591
changelog uses lazy loading of affected files details, in some scenarios this can improve speed
Marcin Kuzminski <marcin@python-works.com>
parents:
1412
diff
changeset
|
139 def changelog_details(self, cs): |
d5d7c40e8591
changelog uses lazy loading of affected files details, in some scenarios this can improve speed
Marcin Kuzminski <marcin@python-works.com>
parents:
1412
diff
changeset
|
140 if request.environ.get('HTTP_X_PARTIAL_XHR'): |
d5d7c40e8591
changelog uses lazy loading of affected files details, in some scenarios this can improve speed
Marcin Kuzminski <marcin@python-works.com>
parents:
1412
diff
changeset
|
141 c.cs = c.rhodecode_repo.get_changeset(cs) |
d5d7c40e8591
changelog uses lazy loading of affected files details, in some scenarios this can improve speed
Marcin Kuzminski <marcin@python-works.com>
parents:
1412
diff
changeset
|
142 return render('changelog/changelog_details.html') |