##// 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:

r2123:f43bc711 default
r2143:4314e88b default
Show More
changelog.mako
297 lines | 11.7 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%def name="title()">
${_('%s Changelog') % c.repo_name}
%if c.changelog_for_path:
/${c.changelog_for_path}
%endif
%if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="breadcrumbs_links()">
%if c.changelog_for_path:
/${c.changelog_for_path}
%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()">
<div class="box">
<div class="title">
${self.repo_page_title(c.rhodecode_db_repo)}
<ul class="links">
<li>
<a href="#" class="btn btn-small" id="rev_range_container" style="display:none;"></a>
%if c.rhodecode_db_repo.fork:
<span>
<a id="compare_fork_button"
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 title="${h.tooltip(_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name))}"
templating: use .mako as extensions for template files.
r1282 class="btn btn-small"
compare: migrated code from pylons to pyramid views.
r1957 href="${h.route_path('repo_compare',
templating: use .mako as extensions for template files.
r1282 repo_name=c.rhodecode_db_repo.fork.repo_name,
source_ref_type=c.rhodecode_db_repo.landing_rev[0],
source_ref=c.rhodecode_db_repo.landing_rev[1],
target_ref_type='branch' if request.GET.get('branch') else c.rhodecode_db_repo.landing_rev[0],
target_ref=request.GET.get('branch') or c.rhodecode_db_repo.landing_rev[1],
compare: migrated code from pylons to pyramid views.
r1957 _query=dict(merge=1, target_repo=c.repo_name))}"
html: fixed found syntax problems
r1283 >
compare: migrated code from pylons to pyramid views.
r1957 ${_('Compare fork with Parent (%s)' % c.rhodecode_db_repo.fork.repo_name)}
templating: use .mako as extensions for template files.
r1282 </a>
</span>
%endif
## pr open link
%if h.is_hg(c.rhodecode_repo) or h.is_git(c.rhodecode_repo):
<span>
pull-requests: migrated code from pylons to pyramid
r1974 <a id="open_new_pull_request" class="btn btn-small btn-success" href="${h.route_path('pullrequest_new',repo_name=c.repo_name)}">
templating: use .mako as extensions for template files.
r1282 ${_('Open new pull request')}
</a>
</span>
%endif
## clear selection
<div title="${_('Clear selection')}" class="btn" id="rev_range_clear" style="display:none">
${_('Clear selection')}
</div>
</li>
</ul>
</div>
% if c.pagination:
js: organized and updated JS packages....
r2123 <script type="text/javascript" src="${h.asset('js/src/plugins/jquery.commits-graph.js')}"></script>
templating: use .mako as extensions for template files.
r1282
<div class="graph-header">
<div id="filter_changelog">
${h.hidden('branch_filter')}
%if c.selected_name:
<div class="btn btn-default" id="clear_filter" >
${_('Clear filter')}
</div>
%endif
</div>
${self.breadcrumbs('breadcrumbs_light')}
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <div id="commit-counter" data-total=${c.total_cs} class="pull-right">
changelog: ported to pyramid views.
r1931 ${_ungettext('showing %d out of %d commit', 'showing %d out of %d commits', c.showing_commits) % (c.showing_commits, c.total_cs)}
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </div>
templating: use .mako as extensions for template files.
r1282 </div>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <div id="graph">
<div class="graph-col-wrapper">
<div id="graph_nodes">
<div id="graph_canvas"></div>
</div>
<div id="graph_content" class="main-content graph_full_width">
templating: use .mako as extensions for template files.
r1282
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <div class="table">
<table id="changesets" class="rctable">
<tr>
## checkbox
<th></th>
<th colspan="2"></th>
templating: use .mako as extensions for template files.
r1282
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <th>${_('Commit')}</th>
## commit message expand arrow
<th></th>
<th>${_('Commit Message')}</th>
templating: use .mako as extensions for template files.
r1282
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <th>${_('Age')}</th>
<th>${_('Author')}</th>
<th>${_('Refs')}</th>
</tr>
templating: use .mako as extensions for template files.
r1282
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <tbody class="commits-range">
<%include file='changelog_elements.mako'/>
</tbody>
</table>
</div>
</div>
<div class="pagination-wh pagination-left">
${c.pagination.pager('$link_previous ~2~ $link_next')}
</div>
</div>
templating: use .mako as extensions for template files.
r1282
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <script type="text/javascript">
templating: use .mako as extensions for template files.
r1282 var cache = {};
$(function(){
// Create links to commit ranges when range checkboxes are selected
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 var $commitCheckboxes = $('.commit-range');
templating: use .mako as extensions for template files.
r1282 // cache elements
var $commitRangeContainer = $('#rev_range_container');
var $commitRangeClear = $('#rev_range_clear');
var checkboxRangeSelector = function(e){
var selectedCheckboxes = [];
for (pos in $commitCheckboxes){
if($commitCheckboxes[pos].checked){
selectedCheckboxes.push($commitCheckboxes[pos]);
}
}
var open_new_pull_request = $('#open_new_pull_request');
if(open_new_pull_request){
var selected_changes = selectedCheckboxes.length;
if (selected_changes > 1 || selected_changes == 1 && templateContext.repo_type != 'hg') {
open_new_pull_request.hide();
} else {
if (selected_changes == 1) {
open_new_pull_request.html(_gettext('Open new pull request for selected commit'));
} else if (selected_changes == 0) {
open_new_pull_request.html(_gettext('Open new pull request'));
}
open_new_pull_request.show();
}
}
if (selectedCheckboxes.length>0){
var revEnd = selectedCheckboxes[0].name;
var revStart = selectedCheckboxes[selectedCheckboxes.length-1].name;
repo-commits: ported changeset code into pyramid views....
r1951 var url = pyroutes.url('repo_commit',
templating: use .mako as extensions for template files.
r1282 {'repo_name': '${c.repo_name}',
repo-commits: ported changeset code into pyramid views....
r1951 'commit_id': revStart+'...'+revEnd});
templating: use .mako as extensions for template files.
r1282
var link = (revStart == revEnd)
? _gettext('Show selected commit __S')
: _gettext('Show selected commits __S ... __E');
link = link.replace('__S', revStart.substr(0,6));
link = link.replace('__E', revEnd.substr(0,6));
$commitRangeContainer
.attr('href',url)
.html(link)
.show();
$commitRangeClear.show();
pull-requests: migrated code from pylons to pyramid
r1974 var _url = pyroutes.url('pullrequest_new',
templating: use .mako as extensions for template files.
r1282 {'repo_name': '${c.repo_name}',
'commit': revEnd});
open_new_pull_request.attr('href', _url);
$('#compare_fork_button').hide();
} else {
$commitRangeContainer.hide();
$commitRangeClear.hide();
%if c.branch_name:
pull-requests: migrated code from pylons to pyramid
r1974 var _url = pyroutes.url('pullrequest_new',
templating: use .mako as extensions for template files.
r1282 {'repo_name': '${c.repo_name}',
'branch':'${c.branch_name}'});
open_new_pull_request.attr('href', _url);
%else:
pull-requests: migrated code from pylons to pyramid
r1974 var _url = pyroutes.url('pullrequest_new',
templating: use .mako as extensions for template files.
r1282 {'repo_name': '${c.repo_name}'});
open_new_pull_request.attr('href', _url);
%endif
$('#compare_fork_button').show();
}
};
$commitCheckboxes.on('click', checkboxRangeSelector);
$commitRangeClear.on('click',function(e) {
html: fixed found syntax problems
r1283 $commitCheckboxes.attr('checked', false);
templating: use .mako as extensions for template files.
r1282 checkboxRangeSelector();
e.preventDefault();
});
// make sure the buttons are consistent when navigate back and forth
checkboxRangeSelector();
var msgs = $('.message');
// get first element height
var el = $('#graph_content .container')[0];
var row_h = el.clientHeight;
for (var i=0; i < msgs.length; i++) {
var m = msgs[i];
var h = m.clientHeight;
var pad = $(m).css('padding');
if (h > row_h) {
var offset = row_h - (h+12);
$(m.nextElementSibling).css('display','block');
$(m.nextElementSibling).css('margin-top',offset+'px');
}
}
$("#clear_filter").on("click", function() {
var filter = {'repo_name': '${c.repo_name}'};
changelog: ported to pyramid views.
r1931 window.location = pyroutes.url('repo_changelog', filter);
templating: use .mako as extensions for template files.
r1282 });
$("#branch_filter").select2({
'dropdownAutoWidth': true,
'width': 'resolve',
'placeholder': "${c.selected_name or _('Filter changelog')}",
containerCssClass: "drop-menu",
dropdownCssClass: "drop-menu-dropdown",
query: function(query){
var key = 'cache';
var cached = cache[key] ;
if(cached) {
var data = {results: []};
//filter results
$.each(cached.results, function(){
var section = this.text;
var children = [];
$.each(this.children, function(){
if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
children.push({'id': this.id, 'text': this.text, 'type': this.type})
}
});
data.results.push({'text': section, 'children': children});
query.callback({results: data.results});
});
}else{
$.ajax({
url: pyroutes.url('repo_refs_changelog_data', {'repo_name': '${c.repo_name}'}),
data: {},
dataType: 'json',
type: 'GET',
success: function(data) {
cache[key] = data;
query.callback({results: data.results});
}
})
}
}
});
$('#branch_filter').on('change', function(e){
var data = $('#branch_filter').select2('data');
var selected = data.text;
var filter = {'repo_name': '${c.repo_name}'};
if(data.type == 'branch' || data.type == 'branch_closed'){
filter["branch"] = selected;
}
else if (data.type == 'book'){
filter["bookmark"] = selected;
}
changelog: ported to pyramid views.
r1931 window.location = pyroutes.url('repo_changelog', filter);
templating: use .mako as extensions for template files.
r1282 });
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 commitsController = new CommitsController();
% if not c.changelog_for_path:
commitsController.reloadGraph();
% endif
templating: use .mako as extensions for template files.
r1282
});
</script>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </div>
% else:
templating: use .mako as extensions for template files.
r1282 ${_('There are no changes yet')}
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 % endif
templating: use .mako as extensions for template files.
r1282 </div>
</%def>