##// END OF EJS Templates
Fixed url bug when using numeric revision in file browser,...
marcink -
r884:322b53be beta
parent child Browse files
Show More
@@ -57,28 +57,43 b' class FilesController(BaseController):'
57 57 def index(self, repo_name, revision, f_path):
58 58 hg_model = ScmModel()
59 59 c.repo = hg_model.get_repo(c.repo_name)
60 revision = request.POST.get('at_rev', None) or revision
61
62 c.f_path = f_path
63 60
64 61 try:
62 #reditect to given revision from form
63 post_revision = request.POST.get('at_rev', None)
64 if post_revision:
65 post_revision = c.repo.get_changeset(post_revision).raw_id
66 redirect(url('files_home', repo_name=c.repo_name,
67 revision=post_revision, f_path=f_path))
68
69 c.branch = request.GET.get('branch', None)
70
71 c.f_path = f_path
72
65 73 c.changeset = c.repo.get_changeset(revision)
66 74 cur_rev = c.changeset.revision
67 75
76 #prev link
68 77 try:
69 prev_rev = c.repo.get_changeset(cur_rev).prev().raw_id
78 prev_rev = c.repo.get_changeset(cur_rev).prev(c.branch).raw_id
70 79 c.url_prev = url('files_home', repo_name=c.repo_name,
71 80 revision=prev_rev, f_path=f_path)
81 if c.branch:
82 c.url_prev += '?branch=%s' % c.branch
72 83 except ChangesetDoesNotExistError:
73 84 c.url_prev = '#'
74 85
86 #next link
75 87 try:
76 next_rev = c.repo.get_changeset(cur_rev).next().raw_id
88 next_rev = c.repo.get_changeset(cur_rev).next(c.branch).raw_id
77 89 c.url_next = url('files_home', repo_name=c.repo_name,
78 90 revision=next_rev, f_path=f_path)
91 if c.branch:
92 c.url_next += '?branch=%s' % c.branch
79 93 except ChangesetDoesNotExistError:
80 94 c.url_next = '#'
81 95
96 #files
82 97 try:
83 98 c.files_list = c.changeset.get_node(f_path)
84 99 c.file_history = self._get_history(c.repo, c.files_list, f_path)
@@ -1614,10 +1614,18 b' padding:0;'
1614 1614 }
1615 1615
1616 1616 div.browserblock .browser-header {
1617 border-bottom:1px solid #CCC;
1618 1617 background:#FFF;
1619 color:blue;
1620 1618 padding:10px 0;
1619 float:left;
1620 }
1621
1622 div.browserblock .browser-branch {
1623 background:#FFF;
1624 padding:20px 0 0 0;
1625 float:left;
1626 }
1627 div.browserblock .browser-branch label {
1628 color:#4A4A4A;
1621 1629 }
1622 1630
1623 1631 div.browserblock .browser-header span {
@@ -1627,6 +1635,7 b' font-weight:700;'
1627 1635
1628 1636 div.browserblock .browser-body {
1629 1637 background:#EEE;
1638 border-top:1px solid #CCC;
1630 1639 }
1631 1640
1632 1641 table.code-browser {
@@ -17,6 +17,24 b''
17 17 </div>
18 18 ${h.end_form()}
19 19 </div>
20 <div class="browser-branch">
21 ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)}
22 <label>${_('follow current branch')}</label>
23 <script type="text/javascript">
24 YUE.on('stay_at_branch','click',function(e){
25 if(e.target.checked){
26 var uri = "${h.url.current(branch='__BRANCH__')}"
27 uri = uri.replace('__BRANCH__',e.target.value);
28 window.location = uri;
29 }
30 else{
31 window.location = "${h.url.current()}";
32 }
33
34 })
35 </script>
36 </div>
37 <div style="clear:both"></div>
20 38 <div class="browser-body">
21 39 <table class="code-browser">
22 40 <thead>
General Comments 0
You need to be logged in to leave comments. Login now