##// END OF EJS Templates
dependencies: bumped configparser to 3.5.1
dependencies: bumped configparser to 3.5.1

File last commit:

r3424:c7ed0ba5 default
r3429:cb4ff324 default
Show More
base.mako
728 lines | 28.7 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%inherit file="root.mako"/>
default-reviewers: introduce new voting rule logic that allows...
r2484 <%include file="/ejs_templates/templates.html"/>
templating: use .mako as extensions for template files.
r1282 <div class="outerwrapper">
<!-- HEADER -->
<div class="header">
<div id="header-inner" class="wrapper">
<div id="logo">
<div class="logo-wrapper">
home: moved home and repo group views into pyramid....
r1774 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
templating: use .mako as extensions for template files.
r1282 </div>
%if c.rhodecode_name:
<div class="branding">- ${h.branding(c.rhodecode_name)}</div>
%endif
</div>
<!-- MENU BAR NAV -->
${self.menu_bar_nav()}
<!-- END MENU BAR NAV -->
</div>
</div>
${self.menu_bar_subnav()}
<!-- END HEADER -->
<!-- CONTENT -->
<div id="content" class="wrapper">
notifications: different approach with fixed/standard container
r1483
<rhodecode-toast id="notifications"></rhodecode-toast>
templating: use .mako as extensions for template files.
r1282 <div class="main">
${next.main()}
</div>
</div>
<!-- END CONTENT -->
</div>
<!-- FOOTER -->
<div id="footer">
<div id="footer-inner" class="title wrapper">
<div>
<p class="footer-link-right">
% if c.visual.show_version:
RhodeCode Enterprise ${c.rhodecode_version} ${c.rhodecode_edition}
% endif
routing: switched static redirection links to pyramid....
r1679 &copy; 2010-${h.datetime.today().year}, <a href="${h.route_url('rhodecode_official')}" target="_blank">RhodeCode GmbH</a>. All rights reserved.
templating: use .mako as extensions for template files.
r1282 % if c.visual.rhodecode_support_url:
<a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
% endif
</p>
<% sid = 'block' if request.GET.get('showrcid') else 'none' %>
<p class="server-instance" style="display:${sid}">
## display hidden instance ID if specially defined
% if c.rhodecode_instanceid:
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 ${_('RhodeCode instance id: {}').format(c.rhodecode_instanceid)}
templating: use .mako as extensions for template files.
r1282 % endif
</p>
</div>
</div>
</div>
<!-- END FOOTER -->
### MAKO DEFS ###
<%def name="menu_bar_subnav()">
</%def>
<%def name="breadcrumbs(class_='breadcrumbs')">
<div class="${class_}">
${self.breadcrumbs_links()}
</div>
</%def>
<%def name="admin_menu()">
<ul class="admin_menu submenu">
audit-logs: introduced new view to replace admin journal....
r1758 <li><a href="${h.route_path('admin_audit_logs')}">${_('Admin audit logs')}</a></li>
repositories: rewrote whole admin section to pyramid....
r2014 <li><a href="${h.route_path('repos')}">${_('Repositories')}</a></li>
repo-groups: moved to pyramid
r2175 <li><a href="${h.route_path('repo_groups')}">${_('Repository groups')}</a></li>
admin-users: moved grid browsing to pyramid....
r1520 <li><a href="${h.route_path('users')}">${_('Users')}</a></li>
user-groups: rewrote the app to pyramid...
r2068 <li><a href="${h.route_path('user_groups')}">${_('User groups')}</a></li>
global-permissions: ported controller to pyramid view....
r1941 <li><a href="${h.route_path('admin_permissions_application')}">${_('Permissions')}</a></li>
templating: use .mako as extensions for template files.
r1282 <li><a href="${h.route_path('auth_home', traverse='')}">${_('Authentication')}</a></li>
<li><a href="${h.route_path('global_integrations_home')}">${_('Integrations')}</a></li>
admin-defaults: ported views to pyramid.
r2076 <li><a href="${h.route_path('admin_defaults_repositories')}">${_('Defaults')}</a></li>
admin: ported settings controller to pyramid....
r2333 <li class="last"><a href="${h.route_path('admin_settings')}">${_('Settings')}</a></li>
templating: use .mako as extensions for template files.
r1282 </ul>
</%def>
<%def name="dt_info_panel(elements)">
<dl class="dl-horizontal">
%for dt, dd, title, show_items in elements:
<dt>${dt}:</dt>
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <dd title="${h.tooltip(title)}">
templating: use .mako as extensions for template files.
r1282 %if callable(dd):
## allow lazy evaluation of elements
${dd()}
%else:
${dd}
%endif
%if show_items:
<span class="btn-collapse" data-toggle="item-${h.md5_safe(dt)[:6]}-details">${_('Show More')} </span>
%endif
</dd>
%if show_items:
<div class="collapsable-content" data-toggle="item-${h.md5_safe(dt)[:6]}-details" style="display: none">
%for item in show_items:
<dt></dt>
<dd>${item}</dd>
%endfor
</div>
%endif
%endfor
</dl>
</%def>
<%def name="gravatar(email, size=16)">
<%
if (size > 16):
gravatar_class = 'gravatar gravatar-large'
else:
gravatar_class = 'gravatar'
%>
<%doc>
TODO: johbo: For now we serve double size images to make it smooth
for retina. This is how it worked until now. Should be replaced
with a better solution at some point.
</%doc>
<img class="${gravatar_class}" src="${h.gravatar_url(email, size * 2)}" height="${size}" width="${size}">
</%def>
<%def name="gravatar_with_user(contact, size=16, show_disabled=False)">
<% email = h.email_or_none(contact) %>
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <div class="rc-user tooltip" title="${h.tooltip(h.author_string(email))}">
templating: use .mako as extensions for template files.
r1282 ${self.gravatar(email, size)}
<span class="${'user user-disabled' if show_disabled else 'user'}"> ${h.link_to_user(contact)}</span>
</div>
</%def>
## admin menu used for people that have some admin resources
<%def name="admin_menu_simple(repositories=None, repository_groups=None, user_groups=None)">
<ul class="submenu">
%if repositories:
repositories: rewrote whole admin section to pyramid....
r2014 <li class="local-admin-repos"><a href="${h.route_path('repos')}">${_('Repositories')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
%if repository_groups:
repo-groups: moved to pyramid
r2175 <li class="local-admin-repo-groups"><a href="${h.route_path('repo_groups')}">${_('Repository groups')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
%if user_groups:
user-groups: rewrote the app to pyramid...
r2068 <li class="local-admin-user-groups"><a href="${h.route_path('user_groups')}">${_('User groups')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
</ul>
</%def>
<%def name="repo_page_title(repo_instance)">
<div class="title-content">
<div class="title-main">
## SVN/HG/GIT icons
%if h.is_hg(repo_instance):
<i class="icon-hg"></i>
%endif
%if h.is_git(repo_instance):
<i class="icon-git"></i>
%endif
%if h.is_svn(repo_instance):
<i class="icon-svn"></i>
%endif
## public/private
%if repo_instance.private:
<i class="icon-repo-private"></i>
%else:
<i class="icon-repo-public"></i>
%endif
## repo name with group name
${h.breadcrumb_repo_link(c.rhodecode_db_repo)}
</div>
## FORKED
%if repo_instance.fork:
<p>
<i class="icon-code-fork"></i> ${_('Fork of')}
forks: don't expose fork link if we don't have permission to read it, and also don't pre-select in pull request.
r3367 ${h.link_to_if(c.has_origin_repo_read_perm,repo_instance.fork.repo_name, h.route_path('repo_summary', repo_name=repo_instance.fork.repo_name))}
templating: use .mako as extensions for template files.
r1282 </p>
%endif
## IMPORTED FROM REMOTE
%if repo_instance.clone_uri:
<p>
<i class="icon-code-fork"></i> ${_('Clone from')}
routing: don't use pylons url() in base to generate clone url....
r2306 <a href="${h.safe_str(h.hide_credentials(repo_instance.clone_uri))}">${h.hide_credentials(repo_instance.clone_uri)}</a>
templating: use .mako as extensions for template files.
r1282 </p>
%endif
## LOCKING STATUS
%if repo_instance.locked[0]:
<p class="locking_locked">
<i class="icon-repo-lock"></i>
${_('Repository locked by %(user)s') % {'user': h.person_by_id(repo_instance.locked[0])}}
</p>
%elif repo_instance.enable_locking:
<p class="locking_unlocked">
<i class="icon-repo-unlock"></i>
${_('Repository not locked. Pull repository to lock it.')}
</p>
%endif
</div>
</%def>
<%def name="repo_menu(active=None)">
<%
def is_active(selected):
if selected == active:
return "active"
%>
<!--- CONTEXT BAR -->
<div id="context-bar">
<div class="wrapper">
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 <ul id="context-pages" class="navigation horizontal-list">
repo-summary: re-implemented summary view as pyramid....
r1785 <li class="${is_active('summary')}"><a class="menulink" href="${h.route_path('repo_summary', repo_name=c.repo_name)}"><div class="menulabel">${_('Summary')}</div></a></li>
changelog: ported to pyramid views.
r1931 <li class="${is_active('changelog')}"><a class="menulink" href="${h.route_path('repo_changelog', repo_name=c.repo_name)}"><div class="menulabel">${_('Changelog')}</div></a></li>
files: ported repository files controllers to pyramid views.
r1927 <li class="${is_active('files')}"><a class="menulink" href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.rhodecode_db_repo.landing_rev[1], f_path='')}"><div class="menulabel">${_('Files')}</div></a></li>
compare: migrated code from pylons to pyramid views.
r1957 <li class="${is_active('compare')}"><a class="menulink" href="${h.route_path('repo_compare_select',repo_name=c.repo_name)}"><div class="menulabel">${_('Compare')}</div></a></li>
templating: use .mako as extensions for template files.
r1282 ## TODO: anderson: ideally it would have a function on the scm_instance "enable_pullrequest() and enable_fork()"
%if c.rhodecode_db_repo.repo_type in ['git','hg']:
<li class="${is_active('showpullrequest')}">
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <a class="menulink" href="${h.route_path('pullrequest_show_all', repo_name=c.repo_name)}" title="${h.tooltip(_('Show Pull Requests for %s') % c.repo_name)}">
templating: use .mako as extensions for template files.
r1282 %if c.repository_pull_requests:
<span class="pr_notifications">${c.repository_pull_requests}</span>
%endif
<div class="menulabel">${_('Pull Requests')}</div>
</a>
</li>
%endif
<li class="${is_active('options')}">
navigation: remove # from url in options navigation entry....
r1783 <a class="menulink dropdown">
<div class="menulabel">${_('Options')} <div class="show_more"></div></div>
</a>
templating: use .mako as extensions for template files.
r1282 <ul class="submenu">
%if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
repo-settings: converted repo settings to pyramid...
r1716 <li><a href="${h.route_path('edit_repo',repo_name=c.repo_name)}">${_('Settings')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
%if c.rhodecode_db_repo.fork:
compare: migrated code from pylons to pyramid views.
r1957 <li>
<a title="${h.tooltip(_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name))}"
href="${h.route_path('repo_compare',
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_repo=c.repo_name,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],
_query=dict(merge=1))}"
>
${_('Compare fork')}
</a>
</li>
templating: use .mako as extensions for template files.
r1282 %endif
search: moved search into pyramid views.
r1685 <li><a href="${h.route_path('search_repo',repo_name=c.repo_name)}">${_('Search')}</a></li>
templating: use .mako as extensions for template files.
r1282
%if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
%if c.rhodecode_db_repo.locked[0]:
repositories: rewrote whole admin section to pyramid....
r2014 <li><a class="locking_del" href="${h.route_path('repo_edit_toggle_locking',repo_name=c.repo_name)}">${_('Unlock')}</a></li>
templating: use .mako as extensions for template files.
r1282 %else:
repositories: rewrote whole admin section to pyramid....
r2014 <li><a class="locking_add" href="${h.route_path('repo_edit_toggle_locking',repo_name=c.repo_name)}">${_('Lock')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
%endif
%if c.rhodecode_user.username != h.DEFAULT_USER:
%if c.rhodecode_db_repo.repo_type in ['git','hg']:
forks: moved pylons code into pyramid.
r1988 <li><a href="${h.route_path('repo_fork_new',repo_name=c.repo_name)}">${_('Fork')}</a></li>
pull-requests: migrated code from pylons to pyramid
r1974 <li><a href="${h.route_path('pullrequest_new',repo_name=c.repo_name)}">${_('Create Pull Request')}</a></li>
templating: use .mako as extensions for template files.
r1282 %endif
%endif
</ul>
</li>
</ul>
</div>
<div class="clear"></div>
</div>
repositories: added option to archive repositories instead of deleting them....
r3090 % if c.rhodecode_db_repo.archived:
<div class="alert alert-warning text-center">
<strong>${_('This repository has been archived. It is now read-only.')}</strong>
</div>
% endif
templating: use .mako as extensions for template files.
r1282 <!--- END CONTEXT BAR -->
</%def>
base: show my account as active when we're showing this view....
r1318 <%def name="usermenu(active=False)">
templating: use .mako as extensions for template files.
r1282 ## USER MENU
base: show my account as active when we're showing this view....
r1318 <li id="quick_login_li" class="${'active' if active else ''}">
auth: login/registration changes for upcomming new rules for login using external identities....
r3386 % if c.rhodecode_user.username == h.DEFAULT_USER:
<a id="quick_login_link" class="menulink childs" href="${h.route_path('login', _query={'came_from': h.current_route_path(request)})}">
${gravatar(c.rhodecode_user.email, 20)}
<span class="user">
<span>${_('Sign in')}</span>
</span>
</a>
% else:
## logged in user
<a id="quick_login_link" class="menulink childs">
${gravatar(c.rhodecode_user.email, 20)}
<span class="user">
<span class="menu_link_user">${c.rhodecode_user.username}</span>
<div class="show_more"></div>
</span>
</a>
## subnav with menu for logged in user
<div class="user-menu submenu">
<div id="quick_login">
%if c.rhodecode_user.username != h.DEFAULT_USER:
<div class="">
<div class="big_gravatar">${gravatar(c.rhodecode_user.email, 48)}</div>
<div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
<div class="email">${c.rhodecode_user.email}</div>
templating: use .mako as extensions for template files.
r1282 </div>
auth: login/registration changes for upcomming new rules for login using external identities....
r3386 <div class="">
<ol class="links">
<li>${h.link_to(_(u'My account'),h.route_path('my_account_profile'))}</li>
% if c.rhodecode_user.personal_repo_group:
<li>${h.link_to(_(u'My personal group'), h.route_path('repo_group_home', repo_group_name=c.rhodecode_user.personal_repo_group.group_name))}</li>
% endif
<li>${h.link_to(_(u'Pull Requests'), h.route_path('my_account_pullrequests'))}</li>
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 ## bookmark-items
<li class="bookmark-items">
${_('Bookmarks')}
<div class="pull-right">
<a href="${h.route_path('my_account_bookmarks')}">${_('Manage')}</a>
</div>
</li>
% if not c.bookmark_items:
<li>
<a href="${h.route_path('my_account_bookmarks')}">${_('No Bookmarks yet.')}</a>
</li>
% endif
% for item in c.bookmark_items:
<li>
% if item.repository:
<div>
<a class="bookmark-item" href="${h.route_path('my_account_goto_bookmark', bookmark_id=item.position)}">
${item.position}
% if item.repository.repo_type == 'hg':
<i class="icon-hg" title="${_('Repository')}" style="font-size: 16px"></i>
% elif item.repository.repo_type == 'git':
<i class="icon-git" title="${_('Repository')}" style="font-size: 16px"></i>
% elif item.repository.repo_type == 'svn':
<i class="icon-svn" title="${_('Repository')}" style="font-size: 16px"></i>
% endif
${(item.title or h.shorter(item.repository.repo_name, 30))}
</a>
</div>
% elif item.repository_group:
<div>
<a class="bookmark-item" href="${h.route_path('my_account_goto_bookmark', bookmark_id=item.position)}">
${item.position}
<i class="icon-folder-close" title="${_('Repository group')}" style="font-size: 16px"></i>
${(item.title or h.shorter(item.repository_group.group_name, 30))}
</a>
</div>
% else:
<a class="bookmark-item" href="${h.route_path('my_account_goto_bookmark', bookmark_id=item.position)}">
${item.position}
${item.title}
</a>
% endif
</li>
% endfor
auth: login/registration changes for upcomming new rules for login using external identities....
r3386
<li class="logout">
${h.secure_form(h.route_path('logout'), request=request)}
${h.submit('log_out', _(u'Sign Out'),class_="btn btn-primary")}
${h.end_form()}
</li>
</ol>
templating: use .mako as extensions for template files.
r1282 </div>
auth: login/registration changes for upcomming new rules for login using external identities....
r3386 %endif
</div>
</div>
## unread counter
<div class="pill_container">
<a class="menu_link_notifications ${'empty' if c.unread_notifications == 0 else ''}" href="${h.route_path('notifications_show_all')}">${c.unread_notifications}</a>
</div>
% endif
templating: use .mako as extensions for template files.
r1282 </li>
</%def>
<%def name="menu_items(active=None)">
<%
def is_active(selected):
if selected == active:
return "active"
return ""
%>
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774
nav-bar: added placeholder for notice box.
r2898 <ul id="quick" class="main_nav navigation horizontal-list">
## notice box for important system messages
<li style="display: none">
<a class="notice-box" href="#openNotice" onclick="showNoticeBox(); return false">
<div class="menulabel-notice" >
0
</div>
</a>
</li>
## Main filter
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 <li>
<div class="menulabel main_filter_box">
<div class="main_filter_input_box">
<input class="main_filter_input" id="main_filter" size="15" type="text" name="main_filter" placeholder="${_('search / go to...')}" value=""/>
</div>
<div class="main_filter_help_box">
<a href="#showFilterHelp" onclick="showMainFilterBox(); return false">?</a>
</div>
</div>
<div id="main_filter_help" style="display: none">
Use '/' key to quickly access this field.
Enter name of repository, or repository group for quick search.
Prefix query to allow special search:
quick-serach: added option to also search user-groups.
r2795 user:admin, to search for usernames
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774
quick-serach: added option to also search user-groups.
r2795 user_group:devops, to search for user groups
commit:efced4, to search for commits
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774
</div>
</li>
templating: use .mako as extensions for template files.
r1282
## ROOT MENU
%if c.rhodecode_user.username != h.DEFAULT_USER:
<li class="${is_active('journal')}">
journal: ported controller to pyramid code
r1933 <a class="menulink" title="${_('Show activity journal')}" href="${h.route_path('journal')}">
templating: use .mako as extensions for template files.
r1282 <div class="menulabel">${_('Journal')}</div>
</a>
</li>
%else:
<li class="${is_active('journal')}">
journal: ported controller to pyramid code
r1933 <a class="menulink" title="${_('Show Public activity journal')}" href="${h.route_path('journal_public')}">
templating: use .mako as extensions for template files.
r1282 <div class="menulabel">${_('Public journal')}</div>
</a>
</li>
%endif
<li class="${is_active('gists')}">
dan
gists: migrated gists controller to pyramid view.
r1891 <a class="menulink childs" title="${_('Show Gists')}" href="${h.route_path('gists_show')}">
templating: use .mako as extensions for template files.
r1282 <div class="menulabel">${_('Gists')}</div>
</a>
</li>
<li class="${is_active('search')}">
search: moved search into pyramid views.
r1685 <a class="menulink" title="${_('Search in repositories you have access to')}" href="${h.route_path('search')}">
templating: use .mako as extensions for template files.
r1282 <div class="menulabel">${_('Search')}</div>
</a>
</li>
% if h.HasPermissionAll('hg.admin')('access admin main page'):
<li class="${is_active('admin')}">
<a class="menulink childs" title="${_('Admin settings')}" href="#" onclick="return false;">
<div class="menulabel">${_('Admin')} <div class="show_more"></div></div>
</a>
${admin_menu()}
</li>
% elif c.rhodecode_user.repositories_admin or c.rhodecode_user.repository_groups_admin or c.rhodecode_user.user_groups_admin:
<li class="${is_active('admin')}">
<a class="menulink childs" title="${_('Delegated Admin settings')}">
<div class="menulabel">${_('Admin')} <div class="show_more"></div></div>
</a>
${admin_menu_simple(c.rhodecode_user.repositories_admin,
c.rhodecode_user.repository_groups_admin,
c.rhodecode_user.user_groups_admin or h.HasPermissionAny('hg.usergroup.create.true')())}
</li>
% endif
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 ## render extra user menu
${usermenu(active=(active=='my_account'))}
templating: use .mako as extensions for template files.
r1282 % if c.debug_style:
style: use different indicator for nicer UI.
r2839 <li>
dan
debug-style: moved from pylons controller to pyramid view.
r1900 <a class="menulink" title="${_('Style')}" href="${h.route_path('debug_style_home')}">
style: use different indicator for nicer UI.
r2839 <div class="menulabel">${_('[Style]')}</div>
templating: use .mako as extensions for template files.
r1282 </a>
</li>
% endif
</ul>
<script type="text/javascript">
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 var visualShowPublicIcon = "${c.visual.show_public_icon}" == "True";
templating: use .mako as extensions for template files.
r1282
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 var formatRepoResult = function(result, container, query, escapeMarkup) {
return function(data, escapeMarkup) {
if (!data.repo_id){
return data.text; // optgroup text Repositories
templating: use .mako as extensions for template files.
r1282 }
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774
var tmpl = '';
var repoType = data['repo_type'];
var repoName = data['text'];
if(data && data.type == 'repo'){
if(repoType === 'hg'){
tmpl += '<i class="icon-hg"></i> ';
}
else if(repoType === 'git'){
tmpl += '<i class="icon-git"></i> ';
}
else if(repoType === 'svn'){
tmpl += '<i class="icon-svn"></i> ';
}
if(data['private']){
tmpl += '<i class="icon-lock" ></i> ';
}
else if(visualShowPublicIcon){
tmpl += '<i class="icon-unlock-alt"></i> ';
}
templating: use .mako as extensions for template files.
r1282 }
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 tmpl += escapeMarkup(repoName);
return tmpl;
templating: use .mako as extensions for template files.
r1282
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 }(result, escapeMarkup);
templating: use .mako as extensions for template files.
r1282 };
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 var formatRepoGroupResult = function(result, container, query, escapeMarkup) {
return function(data, escapeMarkup) {
if (!data.repo_group_id){
return data.text; // optgroup text Repositories
}
var tmpl = '';
var repoGroupName = data['text'];
if(data){
tmpl += '<i class="icon-folder-close"></i> ';
}
tmpl += escapeMarkup(repoGroupName);
return tmpl;
}(result, escapeMarkup);
};
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774
var autocompleteMainFilterFormatResult = function (data, value, org_formatter) {
if (value.split(':').length === 2) {
value = value.split(':')[1]
}
var searchType = data['type'];
var valueDisplay = data['value_display'];
var escapeRegExChars = function (value) {
return value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
};
var pattern = '(' + escapeRegExChars(value) + ')';
// highlight match
valueDisplay = Select2.util.escapeMarkup(valueDisplay);
valueDisplay = valueDisplay.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>');
var icon = '';
templating: use .mako as extensions for template files.
r1282
quick-search: use smart group search when browsing inside a repository group....
r2804 if (searchType === 'hint') {
icon += '<i class="icon-folder-close"></i> ';
}
else if (searchType === 'search') {
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 icon += '<i class="icon-more"></i> ';
}
else if (searchType === 'repo') {
if (data['repo_type'] === 'hg') {
icon += '<i class="icon-hg"></i> ';
}
else if (data['repo_type'] === 'git') {
icon += '<i class="icon-git"></i> ';
}
else if (data['repo_type'] === 'svn') {
icon += '<i class="icon-svn"></i> ';
}
if (data['private']) {
icon += '<i class="icon-lock" ></i> ';
}
else if (visualShowPublicIcon) {
icon += '<i class="icon-unlock-alt"></i> ';
}
}
else if (searchType === 'repo_group') {
icon += '<i class="icon-folder-close"></i> ';
}
quick-serach: added option to also search user-groups.
r2795 else if (searchType === 'user_group') {
icon += '<i class="icon-group"></i> ';
}
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 else if (searchType === 'user') {
icon += '<img class="gravatar" src="{0}"/>'.format(data['icon_link']);
}
else if (searchType === 'commit') {
icon += '<i class="icon-tag"></i>';
}
templating: use .mako as extensions for template files.
r1282
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 var tmpl = '<div class="ac-container-wrap">{0}{1}</div>';
return tmpl.format(icon, valueDisplay);
};
var handleSelect = function(element, suggestion) {
quick-search: use smart group search when browsing inside a repository group....
r2804 if (suggestion.type === "hint") {
// we skip action
$('#main_filter').focus();
} else {
window.location = suggestion['url'];
}
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 };
var autocompleteMainFilterResult = function (suggestion, originalQuery, queryLowerCase) {
if (queryLowerCase.split(':').length === 2) {
queryLowerCase = queryLowerCase.split(':')[1]
}
return suggestion.value_display.toLowerCase().indexOf(queryLowerCase) !== -1;
};
$('#main_filter').autocomplete({
serviceUrl: pyroutes.url('goto_switcher_data'),
dan
quick-search-bar: show errors when search fails.
r3320 params: {"search_context": templateContext.search_context},
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 minChars:2,
maxHeight:400,
deferRequestBy: 300, //miliseconds
tabDisabled: true,
autoSelectFirst: true,
formatResult: autocompleteMainFilterFormatResult,
lookupFilter: autocompleteMainFilterResult,
dan
quick-search-bar: show errors when search fails.
r3320 onSelect: function (element, suggestion) {
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 handleSelect(element, suggestion);
return false;
dan
quick-search-bar: show errors when search fails.
r3320 },
onSearchError: function (element, query, jqXHR, textStatus, errorThrown) {
if (jqXHR !== 'abort') {
alert("Error during search.\nError code: {0}".format(textStatus));
window.location = '';
}
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 }
templating: use .mako as extensions for template files.
r1282 });
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 showMainFilterBox = function () {
$('#main_filter_help').toggle();
}
templating: use .mako as extensions for template files.
r1282
</script>
<script src="${h.asset('js/rhodecode/base/keyboard-bindings.js', ver=c.rhodecode_version_hash)}"></script>
</%def>
<div class="modal" id="help_kb" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">${_('Keyboard shortcuts')}</h4>
</div>
<div class="modal-body">
<div class="block-left">
<table class="keyboard-mappings">
<tbody>
<tr>
<th></th>
<th>${_('Site-wide shortcuts')}</th>
</tr>
<%
elems = [
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 ('/', 'Use quick search box'),
templating: use .mako as extensions for template files.
r1282 ('g h', 'Goto home page'),
('g g', 'Goto my private gists page'),
('g G', 'Goto my public gists page'),
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 ('g 0-9', 'Goto bookmarked items from 0-9'),
templating: use .mako as extensions for template files.
r1282 ('n r', 'New repository page'),
('n g', 'New gist page'),
]
%>
%for key, desc in elems:
<tr>
<td class="keys">
<span class="key tag">${key}</span>
</td>
<td>${desc}</td>
</tr>
%endfor
</tbody>
</table>
</div>
<div class="block-left">
<table class="keyboard-mappings">
<tbody>
<tr>
<th></th>
<th>${_('Repositories')}</th>
</tr>
<%
elems = [
('g s', 'Goto summary page'),
('g c', 'Goto changelog page'),
('g f', 'Goto files page'),
('g F', 'Goto files page with file search activated'),
('g p', 'Goto pull requests page'),
('g o', 'Goto repository settings'),
('g O', 'Goto repository permissions settings'),
]
%>
%for key, desc in elems:
<tr>
<td class="keys">
<span class="key tag">${key}</span>
</td>
<td>${desc}</td>
</tr>
%endfor
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774