##// END OF EJS Templates
user-groups: fix potential problem with group sync of external plugins....
user-groups: fix potential problem with group sync of external plugins. - when using external plugin we used to check for a parameter that set the sync mode. The problem is we only checked if the flag was there. So toggling sync on and off set the value and then left the key still set but with None. This confused the sync and thought the group should be synced !

File last commit:

r2129:2dddc507 default
r2143:4314e88b default
Show More
changeset.mako
354 lines | 14.8 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%namespace name="diff_block" file="/changeset/diff_block.mako"/>
<%def name="title()">
${_('%s Commit') % c.repo_name} - ${h.show_id(c.commit)}
%if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="menu_bar_nav()">
${self.menu_items(active='repositories')}
</%def>
<%def name="menu_bar_subnav()">
${self.repo_menu(active='changelog')}
</%def>
<%def name="main()">
<script>
// TODO: marcink switch this to pyroutes
repo-commits: ported changeset code into pyramid views....
r1951 AJAX_COMMENT_DELETE_URL = "${h.route_path('repo_commit_comment_delete',repo_name=c.repo_name,commit_id=c.commit.raw_id,comment_id='__COMMENT_ID__')}";
templating: use .mako as extensions for template files.
r1282 templateContext.commit_data.commit_id = "${c.commit.raw_id}";
</script>
<div class="box">
<div class="title">
${self.repo_page_title(c.rhodecode_db_repo)}
</div>
<div id="changeset_compare_view_content" class="summary changeset">
<div class="summary-detail">
<div class="summary-detail-header">
style: optimized <code> element fonts.
r2129 <div class="breadcrumbs files_location">
<h4>
${_('Commit')}
<code>
styling: updated old icons based on the new definitions....
r1939 ${h.show_id(c.commit)}
style: optimized <code> element fonts.
r2129 </code>
<i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i>
% if hasattr(c.commit, 'phase'):
<span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">${c.commit.phase}</span>
% endif
mercurial-evolve: enable evolve setting on repositories.
r1738
style: optimized <code> element fonts.
r2129 ## obsolete commits
% if hasattr(c.commit, 'obsolete'):
% if c.commit.obsolete:
<span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span>
% endif
% endif
mercurial-evolve: enable evolve setting on repositories.
r1738
style: optimized <code> element fonts.
r2129 ## hidden commits
% if hasattr(c.commit, 'hidden'):
% if c.commit.hidden:
<span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span>
% endif
% endif
</h4>
mercurial-evolve: enable evolve setting on repositories.
r1738
style: optimized <code> element fonts.
r2129 </div>
commit-page: show phase on commit page....
r1675 <div class="pull-right">
<span id="parent_link">
routing: remove usage of url.current from pylons.
r2104 <a href="#parentCommit" title="${_('Parent Commit')}">${_('Parent')}</a>
commit-page: show phase on commit page....
r1675 </span>
|
<span id="child_link">
routing: remove usage of url.current from pylons.
r2104 <a href="#childCommit" title="${_('Child Commit')}">${_('Child')}</a>
commit-page: show phase on commit page....
r1675 </span>
</div>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="fieldset">
<div class="left-label">
${_('Description')}:
</div>
<div class="right-content">
<div id="trimmed_message_box" class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div>
<div id="message_expand" style="display:none;">
${_('Expand')}
</div>
</div>
</div>
%if c.statuses:
<div class="fieldset">
<div class="left-label">
${_('Commit status')}:
</div>
<div class="right-content">
<div class="changeset-status-ico">
<div class="${'flag_status %s' % c.statuses[0]} pull-left"></div>
</div>
<div title="${_('Commit status')}" class="changeset-status-lbl">[${h.commit_status_lbl(c.statuses[0])}]</div>
</div>
</div>
%endif
<div class="fieldset">
<div class="left-label">
${_('References')}:
</div>
<div class="right-content">
<div class="tags">
%if c.commit.merge:
<span class="mergetag tag">
<i class="icon-merge"></i>${_('merge')}
</span>
%endif
%if h.is_hg(c.rhodecode_repo):
%for book in c.commit.bookmarks:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}">
files: ported repository files controllers to pyramid views.
r1927 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
templating: use .mako as extensions for template files.
r1282 </span>
%endfor
%endif
%for tag in c.commit.tags:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}">
files: ported repository files controllers to pyramid views.
r1927 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=tag))}"><i class="icon-tag"></i>${tag}</a>
templating: use .mako as extensions for template files.
r1282 </span>
%endfor
%if c.commit.branch:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % c.commit.branch)}">
files: ported repository files controllers to pyramid views.
r1927 <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=c.commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(c.commit.branch)}</a>
templating: use .mako as extensions for template files.
r1282 </span>
%endif
</div>
</div>
</div>
<div class="fieldset">
<div class="left-label">
${_('Diff options')}:
</div>
<div class="right-content">
<div class="diff-actions">
repo-commits: ported changeset code into pyramid views....
r1951 <a href="${h.route_path('repo_commit_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Raw diff'))}">
templating: use .mako as extensions for template files.
r1282 ${_('Raw Diff')}
</a>
|
repo-commits: ported changeset code into pyramid views....
r1951 <a href="${h.route_path('repo_commit_patch',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Patch diff'))}">
templating: use .mako as extensions for template files.
r1282 ${_('Patch Diff')}
</a>
|
repo-commits: ported changeset code into pyramid views....
r1951 <a href="${h.route_path('repo_commit_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(diff='download'))}" class="tooltip" title="${h.tooltip(_('Download diff'))}">
templating: use .mako as extensions for template files.
r1282 ${_('Download Diff')}
</a>
|
repo-commits: ported changeset code into pyramid views....
r1951 ${c.ignorews_url(request)}
templating: use .mako as extensions for template files.
r1282 |
repo-commits: ported changeset code into pyramid views....
r1951 ${c.context_url(request)}
templating: use .mako as extensions for template files.
r1282 </div>
</div>
</div>
<div class="fieldset">
<div class="left-label">
${_('Comments')}:
</div>
<div class="right-content">
<div class="comments-number">
%if c.comments:
translation: unified usage of pluralize function ungettext....
r1945 <a href="#comments">${_ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)}</a>,
templating: use .mako as extensions for template files.
r1282 %else:
translation: unified usage of pluralize function ungettext....
r1945 ${_ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)}
templating: use .mako as extensions for template files.
r1282 %endif
%if c.inline_cnt:
translation: unified usage of pluralize function ungettext....
r1945 <a href="#" onclick="return Rhodecode.comments.nextComment();" id="inline-comments-counter">${_ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a>
templating: use .mako as extensions for template files.
r1282 %else:
translation: unified usage of pluralize function ungettext....
r1945 ${_ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}
templating: use .mako as extensions for template files.
r1282 %endif
</div>
</div>
</div>
commit-page: show unresolved TODOs on commit page below comments.
r1385 <div class="fieldset">
<div class="left-label">
${_('Unresolved TODOs')}:
</div>
<div class="right-content">
<div class="comments-number">
% if c.unresolved_comments:
% for co in c.unresolved_comments:
<a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'))"> #${co.comment_id}</a>${'' if loop.last else ','}
% endfor
% else:
${_('There are no unresolved TODOs')}
% endif
</div>
</div>
</div>
templating: use .mako as extensions for template files.
r1282 </div> <!-- end summary-detail -->
<div id="commit-stats" class="sidebar-right">
<div class="summary-detail-header">
<h4 class="item">
${_('Author')}
</h4>
</div>
<div class="sidebar-right-content">
${self.gravatar_with_user(c.commit.author)}
<div class="user-inline-data">- ${h.age_component(c.commit.date)}</div>
</div>
</div><!-- end sidebar -->
</div> <!-- end summary -->
<div class="cs_files">
<%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/>
${cbdiffs.render_diffset_menu()}
${cbdiffs.render_diffset(
c.changes[c.commit.raw_id], commit=c.commit, use_comments=True)}
</div>
## template for inline comment form
<%namespace name="comment" file="/changeset/changeset_file_comment.mako"/>
## render comments
comments: use unified aggregation of comments counters....
r1332 ${comment.generate_comments(c.comments)}
templating: use .mako as extensions for template files.
r1282
## main comment form and it status
repo-commits: ported changeset code into pyramid views....
r1951 ${comment.comments(h.route_path('repo_commit_comment_create', repo_name=c.repo_name, commit_id=c.commit.raw_id),
templating: use .mako as extensions for template files.
r1282 h.commit_status(c.rhodecode_db_repo, c.commit.raw_id))}
</div>
## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS
<script type="text/javascript">
$(document).ready(function() {
var boxmax = parseInt($('#trimmed_message_box').css('max-height'), 10);
if($('#trimmed_message_box').height() === boxmax){
$('#message_expand').show();
}
$('#message_expand').on('click', function(e){
$('#trimmed_message_box').css('max-height', 'none');
$(this).hide();
});
$('.show-inline-comments').on('click', function(e){
var boxid = $(this).attr('data-comment-id');
var button = $(this);
if(button.hasClass("comments-visible")) {
$('#{0} .inline-comments'.format(boxid)).each(function(index){
$(this).hide();
});
button.removeClass("comments-visible");
} else {
$('#{0} .inline-comments'.format(boxid)).each(function(index){
$(this).show();
});
button.addClass("comments-visible");
}
});
// next links
$('#child_link').on('click', function(e){
// fetch via ajax what is going to be the next link, if we have
// >1 links show them to user to choose
if(!$('#child_link').hasClass('disabled')){
$.ajax({
repo-commits: ported changeset code into pyramid views....
r1951 url: '${h.route_path('repo_commit_children',repo_name=c.repo_name, commit_id=c.commit.raw_id)}',
templating: use .mako as extensions for template files.
r1282 success: function(data) {
if(data.results.length === 0){
$('#child_link').html("${_('No Child Commits')}").addClass('disabled');
}
if(data.results.length === 1){
var commit = data.results[0];
repo-commits: ported changeset code into pyramid views....
r1951 window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id});
templating: use .mako as extensions for template files.
r1282 }
else if(data.results.length === 2){
$('#child_link').addClass('disabled');
$('#child_link').addClass('double');
var _html = '';
_html +='<a title="__title__" href="__url__">__rev__</a> '
.replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6)))
.replace('__title__', data.results[0].message)
repo-commits: ported changeset code into pyramid views....
r1951 .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id}));
html: fixed found syntax problems
r1283 _html +=' | ';
templating: use .mako as extensions for template files.
r1282 _html +='<a title="__title__" href="__url__">__rev__</a> '
.replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6)))
.replace('__title__', data.results[1].message)
repo-commits: ported changeset code into pyramid views....
r1951 .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id}));
templating: use .mako as extensions for template files.
r1282 $('#child_link').html(_html);
}
}
});
e.preventDefault();
}
});
// prev links
$('#parent_link').on('click', function(e){
// fetch via ajax what is going to be the next link, if we have
// >1 links show them to user to choose
if(!$('#parent_link').hasClass('disabled')){
$.ajax({
repo-commits: ported changeset code into pyramid views....
r1951 url: '${h.route_path("repo_commit_parents",repo_name=c.repo_name, commit_id=c.commit.raw_id)}',
templating: use .mako as extensions for template files.
r1282 success: function(data) {
if(data.results.length === 0){
$('#parent_link').html('${_('No Parent Commits')}').addClass('disabled');
}
if(data.results.length === 1){
var commit = data.results[0];
repo-commits: ported changeset code into pyramid views....
r1951 window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id});
templating: use .mako as extensions for template files.
r1282 }
else if(data.results.length === 2){
$('#parent_link').addClass('disabled');
$('#parent_link').addClass('double');
var _html = '';
_html +='<a title="__title__" href="__url__">Parent __rev__</a>'
.replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6)))
.replace('__title__', data.results[0].message)
repo-commits: ported changeset code into pyramid views....
r1951 .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id}));
html: fixed found syntax problems
r1283 _html +=' | ';
templating: use .mako as extensions for template files.
r1282 _html +='<a title="__title__" href="__url__">Parent __rev__</a>'
.replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6)))
.replace('__title__', data.results[1].message)
repo-commits: ported changeset code into pyramid views....
r1951 .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id}));
templating: use .mako as extensions for template files.
r1282 $('#parent_link').html(_html);
}
}
});
e.preventDefault();
}
});
if (location.hash) {
var result = splitDelimitedHash(location.hash);
var line = $('html').find(result.loc);
if (line.length > 0){
offsetScroll(line, 70);
}
}
// browse tree @ revision
$('#files_link').on('click', function(e){
files: ported repository files controllers to pyramid views.
r1927 window.location = '${h.route_path('repo_files:default_path',repo_name=c.repo_name, commit_id=c.commit.raw_id)}';
templating: use .mako as extensions for template files.
r1282 e.preventDefault();
});
// inject comments into their proper positions
var file_comments = $('.inline-comment-placeholder');
})
</script>
</%def>