##// END OF EJS Templates
goto-switcher: optimized performance and query capabilities....
goto-switcher: optimized performance and query capabilities. - Previous implementation had on significant bug. The use of LIMIT 20 was limiting results BEFORE auth checks. In case of large ammount of similarly named repositories user didn't had access too, the result goto search was empty. This was becuase first 20 items fetched didn't pass permission checks and final auth list was empty. To fix this we now use proper filtering for auth using SQL. It means we first check user allowed repositories, and add this as a filter so end result from database is already to only the accessible repositories.

File last commit:

r1951:965019b0 default
r2038:2bdf9d4d default
Show More
changelog_elements.mako
143 lines | 5.8 KiB | application/x-mako | MakoHtmlLexer
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 ## small box that displays changed/added/removed details fetched by AJAX
<%namespace name="base" file="/base/base.mako"/>
% if c.prev_page:
<tr>
<td colspan="9" class="load-more-commits">
<a class="prev-commits" href="#loadPrevCommits" onclick="commitsController.loadPrev(this, ${c.prev_page}, '${c.branch_name}');return false">
${_('load previous')}
</a>
</td>
</tr>
% endif
% for cnt,commit in enumerate(c.pagination):
<tr id="sha_${commit.raw_id}" class="changelogRow container ${'tablerow%s' % (cnt%2)}">
<td class="td-checkbox">
${h.checkbox(commit.raw_id,class_="commit-range")}
</td>
<td class="td-status">
%if c.statuses.get(commit.raw_id):
<div class="changeset-status-ico">
%if c.statuses.get(commit.raw_id)[2]:
pull-requests: prepare the migration of pull request to pyramid....
r1813 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (h.commit_status_lbl(c.statuses.get(commit.raw_id)[0]), c.statuses.get(commit.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(commit.raw_id)[3],pull_request_id=c.statuses.get(commit.raw_id)[2])}">
repo-commits: ported changeset code into pyramid views....
r1951 <div class="${'flag_status {}'.format(c.statuses.get(commit.raw_id)[0])}"></div>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </a>
%else:
repo-commits: ported changeset code into pyramid views....
r1951 <a class="tooltip" title="${_('Commit status: {}').format(h.commit_status_lbl(c.statuses.get(commit.raw_id)[0]))}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=commit.raw_id,_anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}">
<div class="${'flag_status {}'.format(c.statuses.get(commit.raw_id)[0])}"></div>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </a>
%endif
</div>
%else:
<div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
%endif
</td>
<td class="td-comments comments-col">
%if c.comments.get(commit.raw_id):
repo-commits: ported changeset code into pyramid views....
r1951 <a title="${_('Commit has comments')}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=commit.raw_id,_anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}">
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 <i class="icon-comment"></i> ${len(c.comments[commit.raw_id])}
</a>
%endif
</td>
<td class="td-hash">
<code>
clipboard: added dummy placeholders for copying commits/paths via clipboard.js
r1935
repo-commits: ported changeset code into pyramid views....
r1951 <a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=commit.raw_id)}">
mercurial-evolve: enable evolve setting on repositories.
r1738 <span class="${'commit_hash obsolete' if getattr(commit, 'obsolete', None) else 'commit_hash'}">${h.show_id(commit)}</span>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </a>
styling: updated old icons based on the new definitions....
r1939 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${commit.raw_id}" title="${_('Copy the full commit id')}"></i>
mercurial: show phases status in changelog....
r1674 % if hasattr(commit, 'phase'):
% if commit.phase != 'public':
mercurial-evolve: enable evolve setting on repositories.
r1738 <span class="tag phase-${commit.phase} tooltip" title="${_('Commit phase')}">${commit.phase}</span>
mercurial: show phases status in changelog....
r1674 % endif
% endif
mercurial-evolve: enable evolve setting on repositories.
r1738
## obsolete commits
% if hasattr(commit, 'obsolete'):
% if commit.obsolete:
<span class="tag obsolete-${commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span>
% endif
% endif
## hidden commits
% if hasattr(commit, 'hidden'):
% if commit.hidden:
<span class="tag obsolete-${commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span>
% endif
% endif
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </code>
</td>
<td class="td-message expand_commit" data-commit-id="${commit.raw_id}" title="${_('Expand commit message')}" onclick="commitsController.expandCommit(this); return false">
<div class="show_more_col">
<i class="show_more"></i>&nbsp;
</div>
</td>
<td class="td-description mid">
<div class="log-container truncate-wrap">
<div class="message truncate" id="c-${commit.raw_id}">${h.urlify_commit_message(commit.message, c.repo_name)}</div>
</div>
</td>
<td class="td-time">
${h.age_component(commit.date)}
</td>
<td class="td-user">
${base.gravatar_with_user(commit.author)}
</td>
<td class="td-tags tags-col">
<div id="t-${commit.raw_id}">
## merge
%if commit.merge:
<span class="tag mergetag">
<i class="icon-merge"></i>${_('merge')}
</span>
%endif
## branch
%if commit.branch:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="tag branchtag" title="${h.tooltip(_('Branch %s') % commit.branch)}">
changelog: ported to pyramid views.
r1931 <a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(commit.branch)}</a>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </span>
%endif
## bookmarks
%if h.is_hg(c.rhodecode_repo):
%for book in commit.bookmarks:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="tag booktag" 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=commit.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </span>
%endfor
%endif
## tags
%for tag in commit.tags:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <span class="tag tagtag" 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=commit.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
changelog: added dynamic loaders to extend number of commits inside changelog....
r1379 </span>
%endfor
</div>
</td>
</tr>
% endfor
% if c.next_page:
<tr>
<td colspan="9" class="load-more-commits">
<a class="next-commits" href="#loadNextCommits" onclick="commitsController.loadNext(this, ${c.next_page}, '${c.branch_name}');return false">
${_('load next')}
</a>
</td>
</tr>
% endif
<tr class="chunk-graph-data" style="display:none"
data-graph='${c.graph_data|n}'
data-node='${c.prev_page}:${c.next_page}'
data-commits='${c.graph_commits|n}'>
</tr>