##// END OF EJS Templates
moved permission management into separate entity....
moved permission management into separate entity. - this solves issues when whole form submision could influence permission management particular case is that when repo group permission is revoked and user is no longer able to update repository settings

File last commit:

r3603:eacd33e0 beta
r3628:c734686b beta
Show More
changelog.html
262 lines | 12.8 KiB | text/html | HtmlLexer
renamed project to rhodecode
r547 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
improved title consistency...
r3582 ${_('%s Changelog') % c.repo_name} &middot; ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
Vincent Duvert
Improved i18n on changelog and user group administration pages.
r2312 <% size = c.size if c.size <= c.total_cs else c.total_cs %>
Leonardo
Fixing missing icons....
r3532 ${_('Changelog')} - ${ungettext('showing %d out of %d revision', 'showing %d out of %d revisions', size) % (size, c.total_cs)}
renamed project to rhodecode
r547 </%def>
<%def name="page_nav()">
Mads Kiilerich
use valid options for the top menu: repositories, journal, search and admin
r3603 ${self.menu('repositories')}
renamed project to rhodecode
r547 </%def>
<%def name="main()">
Leonardo
WIP: Changelog view
r3536 ${self.context_bar('changelog')}
renamed project to rhodecode
r547 <div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<div class="table">
Mads Kiilerich
html: don't use tabs
r3197 % if c.pagination:
<div id="graph">
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 <div class="info_box" style="clear: both;padding: 10px 6px;min-height: 12px;text-align: right;">
made compare button nicer on changelog view
r2885 <a href="#" class="ui-btn small" id="rev_range_container" style="display:none"></a>
Don't allow cherry picking changesets from the changelog using checkboxes....
r2927 <a href="#" class="ui-btn small" id="rev_range_clear" style="display:none">${_('Clear selection')}</a>
whitespace cleanup
r2973
Rewrote url routes to make all validations and parsing for compare view + added compare fork button into forked repos
r2363 %if c.rhodecode_db_repo.fork:
Mads Kiilerich
compare/pullrequest: introduce merge parameter...
r3486 <a id="compare_fork" title="${_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name)}" href="${h.url('compare_url',repo_name=c.rhodecode_db_repo.fork.repo_name,org_ref_type='branch',org_ref='default',other_repo=c.repo_name,other_ref_type='branch',other_ref=request.GET.get('branch') or 'default',merge=1)}" class="ui-btn small">${_('Compare fork with parent')}</a>
Rewrote url routes to make all validations and parsing for compare view + added compare fork button into forked repos
r2363 %endif
hide open pull request for git repos
r2773 %if h.is_hg(c.rhodecode_repo):
Mads Kiilerich
changelog: fix invalid url name left over from cherry picking
r3463 <a id="open_new_pr" href="${h.url('pullrequest_home',repo_name=c.repo_name)}" class="ui-btn small">${_('Open new pull request')}</a>
hide open pull request for git repos
r2773 %endif
Leonardo
WIP: Changelog view
r3536 </div>
<div class="container_header">
${h.form(h.url.current(),method='get')}
<div style="float:left">
${h.submit('set',_('Show'),class_="ui-btn")}
${h.text('size',size=1,value=c.size)}
${_('revisions')}
Rewrote url routes to make all validations and parsing for compare view + added compare fork button into forked repos
r2363 </div>
Leonardo
WIP: Changelog view
r3536 ${h.end_form()}
implemented #44 - branch filtering in changelog, aka branch browser...
r1656 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
Leonardo
WIP: Changelog view
r3536 </div>
<div id="graph_nodes">
<canvas id="graph_canvas"></canvas>
</div>
<div id="graph_content">
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 <table id="changesets">
<tbody>
Mads Kiilerich
html: don't use tabs
r3197 %for cnt,cs in enumerate(c.pagination):
Leonardo
WIP: Changelog view
r3536 <tr id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
<td class="checkbox">
Mads Kiilerich
html: don't use tabs
r3197 ${h.checkbox(cs.raw_id,class_="changeset_range")}
Leonardo
WIP: Changelog view
r3536 </td>
<td class="author">
<img alt="gravatar" src="${h.gravatar_url(h.email_or_none(cs.author),16)}"/>
<span title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span>
</td>
adjust the width on changelog based on the show_id function output
r3585 <td class="hash" style="width:${len(h.show_id(cs))*6.5}px">
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}">
Implemented show_id function that is a configurable way to display sha hashes in the changelog.
r3557 <span class="changeset_hash">${h.show_id(cs)}</span>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 </a>
Leonardo
WIP: Changelog view
r3536 </td>
<td class="date">
<div class="date">${h.age(cs.date,True)}</div>
</td>
<td class="mid">
Leonardo
Tweaks to Changelog view, removing excess information, and improving layout.
r3537 <div class="log-container">
<div class="message">${h.urlify_commit(cs.message, c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
<div class="expand"><span class="expandtext">&darr; ${_('Show more')} &darr;</span></div>
<div class="extra-container">
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 %if c.comments.get(cs.raw_id,[]):
Added number of comments in changelog for each changeset...
r1884 <div class="comments-container">
ui touch ups
r1885 <div class="comments-cnt" title="${('comments')}">
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
${len(c.comments[cs.raw_id])}
</a>
ui touch ups
r1885 </div>
Added number of comments in changelog for each changeset...
r1884 </div>
Leonardo
Tweaks to Changelog view, removing excess information, and improving layout.
r3537 %endif
fixed bookmarks error on git
r3541 %if h.is_hg(c.rhodecode_repo):
codecleaner
r3544 %for book in cs.bookmarks:
<div class="bookbook" title="${'%s %s' % (_('bookmark'),book)}">
${h.link_to(h.shorter(book),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
</div>
%endfor
fixed bookmarks error on git
r3541 %endif
Leonardo
Tweaks to Changelog view, removing excess information, and improving layout.
r3537 %for tag in cs.tags:
<div class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
${h.link_to(h.shorter(tag),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
Mads Kiilerich
html: don't use tabs
r3197 </div>
%endfor
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 %if (not c.branch_name) and cs.branch:
<div class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
${h.link_to(h.shorter(cs.branch),h.url('changelog_home',repo_name=c.repo_name,branch=cs.branch))}
Leonardo
Tweaks to Changelog view, removing excess information, and improving layout.
r3537 </div>
Mads Kiilerich
html: don't use tabs
r3197 %endif
Leonardo
WIP: Changelog view
r3536 </div>
Leonardo
Tweaks to Changelog view, removing excess information, and improving layout.
r3537 </div>
Leonardo
WIP: Changelog view
r3536 </td>
</tr>
Mads Kiilerich
html: don't use tabs
r3197 %endfor
Leonardo
WIP: Changelog view
r3536 </tbody>
</table>
White-space cleanup
r1888
Mads Kiilerich
html: don't use tabs
r3197 <div class="pagination-wh pagination-left">
${c.pagination.pager('$link_previous ~2~ $link_next')}
</div>
</div>
Leonardo
WIP: Changelog view
r3536 </div>
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
<script type="text/javascript">
YAHOO.util.Event.onDOMReady(function(){
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 //Monitor range checkboxes and build a link to changesets
//ranges
var checkboxes = YUD.getElementsByClassName('changeset_range');
var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
var pr_tmpl = "${h.url('pullrequest_home',repo_name=c.repo_name)}";
Leonardo Carneiro
Bugfix: On the changelog page, its possible that some changeset is already checked out by the browser. So we check for that on page load.
r3464
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 var checkbox_checker = function(e){
Leonardo
WIP: Changelog view
r3536 var checked_checkboxes = [];
for (pos in checkboxes){
if(checkboxes[pos].checked){
checked_checkboxes.push(checkboxes[pos]);
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 }
Leonardo
WIP: Changelog view
r3536 }
if(YUD.get('open_new_pr')){
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 if(checked_checkboxes.length>1){
YUD.setStyle('open_new_pr','display','none');
} else {
YUD.setStyle('open_new_pr','display','');
Mads Kiilerich
pullrequest: pullrequest from changelog view...
r3485 if(checked_checkboxes.length>0){
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 YUD.get('open_new_pr').innerHTML = _TM['Open new pull request for selected changesets'];
Mads Kiilerich
pullrequest: pullrequest from changelog view...
r3485 }else{
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 YUD.get('open_new_pr').innerHTML = _TM['Open new pull request'];
Mads Kiilerich
pullrequest: pullrequest from changelog view...
r3485 }
Don't allow cherry picking changesets from the changelog using checkboxes....
r2927 }
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 }
whitespace cleanup
r2973
Leonardo
WIP: Changelog view
r3536 if(checked_checkboxes.length>0){
var rev_end = checked_checkboxes[0].name;
var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
var url = url_tmpl.replace('__REVRANGE__',
rev_start+'...'+rev_end);
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 var link = (rev_start == rev_end)
Mads Kiilerich
changelog / compare: adjust titles...
r3592 ? _TM['Show selected changeset __S']
: _TM['Show selected changesets __S -> __E'];
whitespace cleanup
r3447
Leonardo
WIP: Changelog view
r3536 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','');
whitespace cleanup
r2973
Leonardo
WIP: Changelog view
r3536 YUD.get('open_new_pr').href = pr_tmpl + '?rev_start={0}&rev_end={1}'.format(rev_start,rev_end);
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 YUD.setStyle('compare_fork','display','none');
}else{
Leonardo
WIP: Changelog view
r3536 YUD.setStyle('rev_range_container','display','none');
YUD.setStyle('rev_range_clear','display','none');
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 if (checkboxes){
YUD.get('open_new_pr').href = pr_tmpl + '?rev_end={0}'.format(checkboxes[0].name);
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 }
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 YUD.setStyle('compare_fork','display','');
}
};
YUE.onDOMReady(checkbox_checker);
YUE.on(checkboxes,'click', checkbox_checker);
Leonardo Carneiro
Bugfix: On the changelog page, its possible that some changeset is already checked out by the browser. So we check for that on page load.
r3464
Leonardo
WIP: Changelog view
r3536 YUE.on('rev_range_clear','click',function(e){
for (var i=0; i<checkboxes.length; i++){
var cb = checkboxes[i];
cb.checked = false;
}
Mads Kiilerich
Stylistic cleanup - mostly formatting
r3552 checkbox_checker();
Leonardo
WIP: Changelog view
r3536 YUE.preventDefault(e);
});
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 var msgs = YUQ('.message');
// get first element height
var el = YUQ('#graph_content .container')[0];
var row_h = el.clientHeight;
for(var i=0;i<msgs.length;i++){
var m = msgs[i];
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 var h = m.clientHeight;
var pad = YUD.getStyle(m,'padding');
if(h > row_h){
var offset = row_h - (h+12);
YUD.setStyle(m.nextElementSibling,'display','block');
YUD.setStyle(m.nextElementSibling,'margin-top',offset+'px');
Mads Kiilerich
html: don't use tabs
r3197 };
Leonardo
WIP: Changelog view
r3536 }
YUE.on(YUQ('.expand'),'click',function(e){
var elem = e.currentTarget.parentNode.parentNode;
YUD.setStyle(e.currentTarget,'display','none');
YUD.setStyle(elem,'height','auto');
White-space cleanup
r1888
Leonardo
WIP: Changelog view
r3536 //redraw the graph, line_count and jsdata are global vars
Mads Kiilerich
html: don't use tabs
r3197 set_canvas(100);
White-space cleanup
r1888
Mads Kiilerich
html: don't use tabs
r3197 var r = new BranchRenderer();
r.render(jsdata,100,line_count);
White-space cleanup
r1888
Mads Kiilerich
html: don't use tabs
r3197 });
Leonardo
WIP: Changelog view
r3536
// change branch filter
YUE.on(YUD.get('branch_filter'),'change',function(e){
var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
var url = url.replace('__BRANCH__',selected_branch);
if(selected_branch != ''){
window.location = url;
}else{
window.location = url_main;
}
});
function set_canvas(width) {
var c = document.getElementById('graph_nodes');
var t = document.getElementById('graph_content');
canvas = document.getElementById('graph_canvas');
var div_h = t.clientHeight;
canvas.setAttribute('height',div_h);
canvas.setAttribute('width',width);
};
var heads = 1;
var line_count = 0;
var jsdata = ${c.jsdata|n};
for (var i=0;i<jsdata.length;i++) {
var in_l = jsdata[i][2];
for (var j in in_l) {
var m = in_l[j][1];
if (m > line_count)
line_count = m;
}
}
set_canvas(100);
var r = new BranchRenderer();
r.render(jsdata,100,line_count);
});
</script>
Mads Kiilerich
html: don't use tabs
r3197 %else:
${_('There are no changes yet')}
%endif
renamed project to rhodecode
r547 </div>
White-space cleanup
r1888 </div>
UI fixes...
r1865 </%def>