Add consistent left nav sidebar across all pages
Convert repo_menu from hidden horizontal context bar to sidebar sections. Add Navigate section with global links (Repos, Activity, Gists, Search, My Account, PRs, Notifications, Admin). Sidebar now shows for all users including anonymous.
This commit is contained in:
parent
ad02337045
commit
ec33c57d29
1 changed files with 42 additions and 64 deletions
|
|
@ -34,15 +34,9 @@
|
||||||
<rhodecode-toast id="notifications"></rhodecode-toast>
|
<rhodecode-toast id="notifications"></rhodecode-toast>
|
||||||
|
|
||||||
<div class="main page-with-sidebar">
|
<div class="main page-with-sidebar">
|
||||||
<%
|
|
||||||
not_anon = c.rhodecode_user.username != h.DEFAULT_USER
|
|
||||||
has_sidebar = hasattr(next, 'page_sidebar') or not_anon
|
|
||||||
%>
|
|
||||||
% if has_sidebar:
|
|
||||||
<nav class="page-sidebar" id="page-sidebar">
|
<nav class="page-sidebar" id="page-sidebar">
|
||||||
${self.page_sidebar()}
|
${self.page_sidebar()}
|
||||||
</nav>
|
</nav>
|
||||||
% endif
|
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
${next.main()}
|
${next.main()}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -123,6 +117,24 @@ can_create_repos = c.is_super_admin or c.can_create_repo
|
||||||
can_create_repo_groups = c.is_super_admin or c.can_create_repo_group
|
can_create_repo_groups = c.is_super_admin or c.can_create_repo_group
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<h4 class="sidebar-heading">${_('Navigate')}</h4>
|
||||||
|
<ul class="sidebar-nav">
|
||||||
|
<li><a href="${h.route_path('home')}"><i class="icon-database"></i> ${_('Repositories')}</a></li>
|
||||||
|
<li><a href="${h.route_path('journal' if not_anon else 'journal_public')}"><i class="icon-file-text"></i> ${_('Activity')}</a></li>
|
||||||
|
<li><a href="${h.route_path('gists_show')}"><i class="icon-clipboard"></i> ${_('Gists')}</a></li>
|
||||||
|
<li><a href="${h.route_path('search')}"><i class="icon-search"></i> ${_('Search')}</a></li>
|
||||||
|
% if not_anon:
|
||||||
|
<li><a href="${h.route_path('my_account_profile')}"><i class="icon-user"></i> ${_('My Account')}</a></li>
|
||||||
|
<li><a href="${h.route_path('my_account_pullrequests')}"><i class="icon-request-pull"></i> ${_('Pull Requests')}</a></li>
|
||||||
|
<li><a href="${h.route_path('my_account_notifications')}"><i class="icon-comment"></i> ${_('Notifications')}</a></li>
|
||||||
|
% endif
|
||||||
|
% if c.is_super_admin or c.is_delegated_admin:
|
||||||
|
<li><a href="${h.route_path('admin_home')}"><i class="icon-cog"></i> ${_('Admin')}</a></li>
|
||||||
|
% endif
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
% if not_anon:
|
% if not_anon:
|
||||||
<div class="sidebar-section">
|
<div class="sidebar-section">
|
||||||
<h4 class="sidebar-heading">${_('Create')}</h4>
|
<h4 class="sidebar-heading">${_('Create')}</h4>
|
||||||
|
|
@ -411,10 +423,7 @@ ${self.menu_bar_subnav()}
|
||||||
|
|
||||||
<%def name="repo_menu(active=None)">
|
<%def name="repo_menu(active=None)">
|
||||||
<%
|
<%
|
||||||
## determine if we have "any" option available
|
|
||||||
can_lock = h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking
|
can_lock = h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking
|
||||||
has_actions = can_lock
|
|
||||||
|
|
||||||
%>
|
%>
|
||||||
% if c.rhodecode_db_repo.archived:
|
% if c.rhodecode_db_repo.archived:
|
||||||
<div class="alert alert-warning text-center">
|
<div class="alert alert-warning text-center">
|
||||||
|
|
@ -422,66 +431,35 @@ ${self.menu_bar_subnav()}
|
||||||
</div>
|
</div>
|
||||||
% endif
|
% endif
|
||||||
|
|
||||||
<!--- REPO CONTEXT BAR -->
|
<div class="sidebar-section">
|
||||||
<div id="context-bar">
|
<h4 class="sidebar-heading">${c.repo_name}</h4>
|
||||||
<div class="wrapper">
|
<ul class="sidebar-nav">
|
||||||
|
<li class="${h.is_active('summary', active)}"><a href="${h.route_path('repo_summary_explicit', repo_name=c.repo_name)}"><i class="icon-home"></i> ${_('Summary')}</a></li>
|
||||||
<div class="title">
|
<li class="${h.is_active('commits', active)}"><a href="${h.route_path('repo_commits', repo_name=c.repo_name)}"><i class="icon-history"></i> ${_('Commits')}</a></li>
|
||||||
${self.repo_page_title(c.rhodecode_db_repo)}
|
<li class="${h.is_active('files', active)}"><a href="${h.repo_files_by_ref_url(c.repo_name, c.rhodecode_db_repo.repo_type, f_path='', ref_name=c.rhodecode_db_repo.landing_ref_name, commit_id='tip', query={'at':c.rhodecode_db_repo.landing_ref_name})}"><i class="icon-file-text"></i> ${_('Files')}</a></li>
|
||||||
</div>
|
<li class="${h.is_active('compare', active)}"><a href="${h.route_path('repo_compare_select',repo_name=c.repo_name)}"><i class="icon-loop"></i> ${_('Compare')}</a></li>
|
||||||
|
|
||||||
<ul id="context-pages" class="navigation horizontal-list">
|
|
||||||
<li class="${h.is_active('summary', active)}"><a class="menulink" href="${h.route_path('repo_summary_explicit', repo_name=c.repo_name)}"><div class="menulabel">${_('Summary')}</div></a></li>
|
|
||||||
<li class="${h.is_active('commits', active)}"><a class="menulink" href="${h.route_path('repo_commits', repo_name=c.repo_name)}"><div class="menulabel">${_('Commits')}</div></a></li>
|
|
||||||
<li class="${h.is_active('files', active)}"><a class="menulink" href="${h.repo_files_by_ref_url(c.repo_name, c.rhodecode_db_repo.repo_type, f_path='', ref_name=c.rhodecode_db_repo.landing_ref_name, commit_id='tip', query={'at':c.rhodecode_db_repo.landing_ref_name})}"><div class="menulabel">${_('Files')}</div></a></li>
|
|
||||||
<li class="${h.is_active('compare', active)}"><a class="menulink" href="${h.route_path('repo_compare_select',repo_name=c.repo_name)}"><div class="menulabel">${_('Compare')}</div></a></li>
|
|
||||||
|
|
||||||
## 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']:
|
%if c.rhodecode_db_repo.repo_type in ['git','hg']:
|
||||||
<li class="${h.is_active('showpullrequest', active)}">
|
<li class="${h.is_active('showpullrequest', active)}"><a href="${h.route_path('pullrequest_show_all', repo_name=c.repo_name)}"><i class="icon-request-pull"></i> ${_('Pull Requests')} <span class="badge">${c.repository_pull_requests}</span></a></li>
|
||||||
<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)}">
|
|
||||||
<div class="menulabel">
|
|
||||||
${_('Pull Requests')} <span class="menulink-counter">${c.repository_pull_requests}</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
%endif
|
%endif
|
||||||
|
<li class="${h.is_active('artifacts', active)}"><a href="${h.route_path('repo_artifacts_list',repo_name=c.repo_name)}"><i class="icon-archive"></i> ${_('Artifacts')} <span class="badge">${c.repository_artifacts}</span></a></li>
|
||||||
<li class="${h.is_active('artifacts', active)}">
|
|
||||||
<a class="menulink" href="${h.route_path('repo_artifacts_list',repo_name=c.repo_name)}">
|
|
||||||
<div class="menulabel">
|
|
||||||
${_('Artifacts')} <span class="menulink-counter">${c.repository_artifacts}</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
%if not c.rhodecode_db_repo.archived and h.HasRepoPermissionAll('repository.admin')(c.repo_name):
|
%if not c.rhodecode_db_repo.archived and h.HasRepoPermissionAll('repository.admin')(c.repo_name):
|
||||||
<li class="${h.is_active('settings', active)}"><a class="menulink" href="${h.route_path('edit_repo',repo_name=c.repo_name)}"><div class="menulabel">${_('Repository Settings')}</div></a></li>
|
<li class="${h.is_active('settings', active)}"><a href="${h.route_path('edit_repo',repo_name=c.repo_name)}"><i class="icon-cog"></i> ${_('Settings')}</a></li>
|
||||||
%endif
|
%endif
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<li class="${h.is_active('options', active)}">
|
% if can_lock:
|
||||||
% if has_actions:
|
<div class="sidebar-section">
|
||||||
<a class="menulink dropdown">
|
<h4 class="sidebar-heading">${_('Quick Actions')}</h4>
|
||||||
<div class="menulabel">${_('Quick Actions')}<div class="show_more"></div></div>
|
<ul class="sidebar-nav">
|
||||||
</a>
|
%if c.rhodecode_db_repo.locked[0]:
|
||||||
<ul class="submenu">
|
<li><a href="${h.route_path('repo_settings_quick_actions',repo_name=c.repo_name, _query={'action': 'toggle-lock', 'set_unlock': 1})}"><i class="icon-lock"></i> ${_('Unlock Repository')}</a></li>
|
||||||
%if can_lock:
|
%else:
|
||||||
%if c.rhodecode_db_repo.locked[0]:
|
<li><a href="${h.route_path('repo_settings_quick_actions',repo_name=c.repo_name, _query={'action': 'toggle-lock', 'set_lock': 1})}"><i class="icon-lock"></i> ${_('Lock Repository')}</a></li>
|
||||||
<li><a class="locking_del" href="${h.route_path('repo_settings_quick_actions',repo_name=c.repo_name, _query={'action': 'toggle-lock', 'set_unlock': 1})}">${_('Unlock Repository')}</a></li>
|
%endif
|
||||||
%else:
|
</ul>
|
||||||
<li><a class="locking_add" href="${h.route_path('repo_settings_quick_actions',repo_name=c.repo_name, _query={'action': 'toggle-lock', 'set_lock': 1})}">${_('Lock Repository')}</a></li>
|
</div>
|
||||||
%endif
|
% endif
|
||||||
%endif
|
|
||||||
</ul>
|
|
||||||
% endif
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--- REPO END CONTEXT BAR -->
|
|
||||||
|
|
||||||
</%def>
|
</%def>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue