diff --git a/rhodecode/templates/changelog/changelog.html b/rhodecode/templates/changelog/changelog.html --- a/rhodecode/templates/changelog/changelog.html +++ b/rhodecode/templates/changelog/changelog.html @@ -34,11 +34,13 @@ ${_('%s Changelog') % c.repo_name} - ${c
+ + %if c.rhodecode_db_repo.fork: ${_('Compare fork')} %endif %if h.is_hg(c.rhodecode_repo): - ${_('Open new pull request')} + ${_('Open new pull request')} %endif
@@ -148,31 +150,71 @@ ${_('%s Changelog') % c.repo_name} - ${c var checkboxes = YUD.getElementsByClassName('changeset_range'); var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}"; YUE.on(checkboxes,'click',function(e){ + var clicked_cb = e.currentTarget; var checked_checkboxes = []; for (pos in checkboxes){ if(checkboxes[pos].checked){ checked_checkboxes.push(checkboxes[pos]); } } + + if(checked_checkboxes.length>0){ + // modify open pull request to show we have selected cs + YUD.get('open_new_pr').innerHTML = _TM['Open new pull request for selected changesets']; + + }else{ + YUD.get('open_new_pr').innerHTML = _TM['Open new pull request']; + } + if(checked_checkboxes.length>1){ var rev_end = checked_checkboxes[0].name; var rev_start = checked_checkboxes[checked_checkboxes.length-1].name; + // now select all checkboxes in the middle. + var checked = false; + for (var i=0; i __E']; + link = link.replace('__S',rev_start.substr(0,6)); + link = link.replace('__E',rev_end.substr(0,6)); + YUD.get('rev_range_container').href = url; + YUD.get('rev_range_container').innerHTML = link; + YUD.setStyle('rev_range_container','display',''); + YUD.setStyle('rev_range_clear','display',''); + } else{ YUD.setStyle('rev_range_container','display','none'); + YUD.setStyle('rev_range_clear','display','none'); } }); - + YUE.on('rev_range_clear','click',function(e){ + for (var i=0; i