285 lines
14 KiB
Text
285 lines
14 KiB
Text
%aside.nav-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?), 'aria-label': _('Admin navigation'), data: { qa_selector: 'admin_sidebar_content' } }
|
|
.nav-sidebar-inner-scroll
|
|
.context-header
|
|
= link_to admin_root_path, title: _('Admin Overview'), class: 'has-tooltip', data: { container: 'body', placement: 'right' } do
|
|
%span{ class: ['avatar-container', 'settings-avatar', 'rect-avatar', 's32'] }
|
|
= sprite_icon('admin', size: 18)
|
|
%span.sidebar-context-title
|
|
= _('Admin Area')
|
|
%ul.sidebar-top-level-items{ data: { qa_selector: 'admin_overview_submenu_content' } }
|
|
= nav_link(controller: %w[dashboard admin admin/projects users groups admin/topics jobs runners gitaly_servers cohorts], html_options: {class: 'home'}) do
|
|
= link_to admin_root_path, class: 'has-sub-items' do
|
|
.nav-icon-container
|
|
= sprite_icon('overview')
|
|
%span.nav-item-name
|
|
= _('Overview')
|
|
%ul.sidebar-sub-level-items
|
|
= nav_link(controller: %w[dashboard admin admin/projects users groups jobs runners gitaly_servers cohorts], html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_root_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Overview')
|
|
%li.divider.fly-out-top-item
|
|
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do
|
|
= link_to admin_root_path, title: _('Overview') do
|
|
%span
|
|
= _('Dashboard')
|
|
= nav_link(controller: [:admin, 'admin/projects']) do
|
|
= link_to admin_projects_path, title: _('Projects') do
|
|
%span
|
|
= _('Projects')
|
|
= nav_link(controller: %w[users cohorts]) do
|
|
= link_to admin_users_path, title: _('Users'), data: { qa_selector: 'admin_overview_users_link' } do
|
|
%span
|
|
= _('Users')
|
|
= nav_link(controller: :groups) do
|
|
= link_to admin_groups_path, title: _('Groups'), data: { qa_selector: 'admin_overview_groups_link' } do
|
|
%span
|
|
= _('Groups')
|
|
= nav_link(controller: [:admin, 'admin/topics']) do
|
|
= link_to admin_topics_path, title: _('Topics') do
|
|
%span
|
|
= _('Topics')
|
|
= nav_link path: 'jobs#index' do
|
|
= link_to admin_jobs_path, title: _('Jobs') do
|
|
%span
|
|
= _('Jobs')
|
|
= nav_link path: ['runners#index', 'runners#show'] do
|
|
= link_to admin_runners_path, title: _('Runners') do
|
|
%span
|
|
= _('Runners')
|
|
= nav_link(controller: :gitaly_servers) do
|
|
= link_to admin_gitaly_servers_path, title: 'Gitaly Servers' do
|
|
%span
|
|
= _('Gitaly Servers')
|
|
|
|
= nav_link(controller: admin_analytics_nav_links) do
|
|
= link_to admin_dev_ops_reports_path, data: { qa_selector: 'admin_analytics_link' }, class: 'has-sub-items' do
|
|
.nav-icon-container
|
|
= sprite_icon('chart')
|
|
%span.nav-item-name
|
|
= _('Analytics')
|
|
|
|
%ul.sidebar-sub-level-items{ data: { qa_selector: 'admin_sidebar_analytics_submenu_content' } }
|
|
= nav_link(controller: admin_analytics_nav_links, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_dev_ops_reports_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Analytics')
|
|
%li.divider.fly-out-top-item
|
|
= nav_link(controller: :dev_ops_report) do
|
|
= link_to admin_dev_ops_reports_path, title: _('DevOps Reports') do
|
|
%span
|
|
= _('DevOps Reports')
|
|
= nav_link(controller: :usage_trends) do
|
|
= link_to admin_usage_trends_path, title: _('Usage Trends') do
|
|
%span
|
|
= _('Usage Trends')
|
|
|
|
= nav_link(controller: admin_monitoring_nav_links) do
|
|
= link_to admin_system_info_path, data: { qa_selector: 'admin_monitoring_menu_link' }, class: 'has-sub-items' do
|
|
.nav-icon-container
|
|
= sprite_icon('monitor')
|
|
%span.nav-item-name
|
|
= _('Monitoring')
|
|
|
|
%ul.sidebar-sub-level-items{ data: { qa_selector: 'admin_monitoring_submenu_content' } }
|
|
= nav_link(controller: admin_monitoring_nav_links, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_system_info_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Monitoring')
|
|
%li.divider.fly-out-top-item
|
|
= nav_link(controller: :system_info) do
|
|
= link_to admin_system_info_path, title: _('System Info') do
|
|
%span
|
|
= _('System Info')
|
|
= nav_link(controller: :background_migrations) do
|
|
= link_to admin_background_migrations_path, title: _('Background Migrations') do
|
|
%span
|
|
= _('Background Migrations')
|
|
= nav_link(controller: :background_jobs) do
|
|
= link_to admin_background_jobs_path, title: _('Background Jobs') do
|
|
%span
|
|
= _('Background Jobs')
|
|
= nav_link(controller: :health_check) do
|
|
= link_to admin_health_check_path, title: _('Health Check') do
|
|
%span
|
|
= _('Health Check')
|
|
- if Gitlab::CurrentSettings.current_application_settings.grafana_enabled?
|
|
= nav_link do
|
|
= link_to Gitlab::CurrentSettings.current_application_settings.grafana_url, target: '_blank', title: _('Metrics Dashboard'), rel: 'noopener noreferrer' do
|
|
%span
|
|
= _('Metrics Dashboard')
|
|
= render_if_exists 'layouts/nav/ee/admin/new_monitoring_sidebar'
|
|
|
|
= nav_link(controller: :broadcast_messages) do
|
|
= link_to admin_broadcast_messages_path do
|
|
.nav-icon-container
|
|
= sprite_icon('messages')
|
|
%span.nav-item-name
|
|
= _('Messages')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :broadcast_messages, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_broadcast_messages_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Messages')
|
|
|
|
= nav_link(controller: [:hooks, :hook_logs]) do
|
|
= link_to admin_hooks_path do
|
|
.nav-icon-container
|
|
= sprite_icon('hook')
|
|
%span.nav-item-name
|
|
= _('System Hooks')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: [:hooks, :hook_logs], html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_hooks_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('System Hooks')
|
|
|
|
= nav_link(controller: :applications) do
|
|
= link_to admin_applications_path do
|
|
.nav-icon-container
|
|
= sprite_icon('applications')
|
|
%span.nav-item-name
|
|
= _('Applications')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :applications, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_applications_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Applications')
|
|
|
|
= nav_link(controller: :abuse_reports) do
|
|
= link_to admin_abuse_reports_path do
|
|
.nav-icon-container
|
|
= sprite_icon('slight-frown')
|
|
%span.nav-item-name
|
|
= _('Abuse Reports')
|
|
= gl_badge_tag number_with_delimiter(AbuseReport.count(:all)), variant: :info, size: :sm
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :abuse_reports, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_abuse_reports_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Abuse Reports')
|
|
= gl_badge_tag number_with_delimiter(AbuseReport.count(:all)), variant: :info, size: :sm
|
|
|
|
= render_if_exists 'layouts/nav/sidebar/licenses_link'
|
|
|
|
- if instance_clusters_enabled?
|
|
= nav_link(controller: :clusters) do
|
|
= link_to admin_clusters_path do
|
|
.nav-icon-container
|
|
= sprite_icon('cloud-gear')
|
|
%span.nav-item-name
|
|
= _('Kubernetes')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :clusters, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_clusters_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Kubernetes')
|
|
|
|
- if anti_spam_service_enabled?
|
|
= nav_link(controller: :spam_logs) do
|
|
= link_to admin_spam_logs_path do
|
|
.nav-icon-container
|
|
= sprite_icon('spam')
|
|
%span.nav-item-name
|
|
= _('Spam Logs')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :spam_logs, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_spam_logs_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Spam Logs')
|
|
|
|
= render_if_exists 'layouts/nav/sidebar/push_rules_link'
|
|
|
|
= render_if_exists 'layouts/nav/ee/admin/geo_sidebar'
|
|
|
|
= nav_link(controller: :deploy_keys) do
|
|
= link_to admin_deploy_keys_path do
|
|
.nav-icon-container
|
|
= sprite_icon('key')
|
|
%span.nav-item-name
|
|
= _('Deploy Keys')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :deploy_keys, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_deploy_keys_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Deploy Keys')
|
|
|
|
= render_if_exists 'layouts/nav/sidebar/credentials_link'
|
|
|
|
= nav_link(controller: :labels) do
|
|
= link_to admin_labels_path do
|
|
.nav-icon-container
|
|
= sprite_icon('labels')
|
|
%span.nav-item-name
|
|
= _('Labels')
|
|
%ul.sidebar-sub-level-items.is-fly-out-only
|
|
= nav_link(controller: :labels, html_options: { class: "fly-out-top-item" }) do
|
|
= link_to admin_labels_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Labels')
|
|
|
|
= nav_link(controller: [:application_settings, :integrations, :appearances]) do
|
|
= link_to general_admin_application_settings_path, class: 'has-sub-items' do
|
|
.nav-icon-container
|
|
= sprite_icon('settings')
|
|
%span.nav-item-name{ data: { qa_selector: 'admin_settings_menu_link' } }
|
|
= _('Settings')
|
|
|
|
%ul.sidebar-sub-level-items{ data: { qa_selector: 'admin_settings_submenu_content' } }
|
|
-# This active_nav_link check is also used in `app/views/layouts/admin.html.haml`
|
|
= nav_link(controller: [:application_settings, :integrations, :appearances], html_options: { class: "fly-out-top-item" }) do
|
|
= link_to general_admin_application_settings_path do
|
|
%strong.fly-out-top-item-name
|
|
= _('Settings')
|
|
%li.divider.fly-out-top-item
|
|
= nav_link(path: 'application_settings#general') do
|
|
= link_to general_admin_application_settings_path, title: _('General'), data: { qa_selector: 'admin_settings_general_link' } do
|
|
%span
|
|
= _('General')
|
|
|
|
= render_if_exists 'layouts/nav/sidebar/advanced_search', data: { qa_selector: 'admin_settings_advanced_search_link' }
|
|
|
|
- if instance_level_integrations?
|
|
= nav_link(path: ['application_settings#integrations', 'integrations#edit']) do
|
|
= link_to integrations_admin_application_settings_path, title: _('Integrations'), data: { qa_selector: 'admin_settings_integrations_link' } do
|
|
%span
|
|
= _('Integrations')
|
|
= nav_link(path: 'application_settings#repository') do
|
|
= link_to repository_admin_application_settings_path, title: _('Repository'), data: { qa_selector: 'admin_settings_repository_link' } do
|
|
%span
|
|
= _('Repository')
|
|
- if Gitlab.ee? && License.feature_available?(:custom_file_templates)
|
|
= nav_link(path: 'application_settings#templates') do
|
|
= link_to templates_admin_application_settings_path, title: _('Templates'), data: { qa_selector: 'admin_settings_templates_link' } do
|
|
%span
|
|
= _('Templates')
|
|
= nav_link(path: 'application_settings#ci_cd') do
|
|
= link_to ci_cd_admin_application_settings_path, title: _('CI/CD') do
|
|
%span
|
|
= _('CI/CD')
|
|
= nav_link(path: 'application_settings#reporting') do
|
|
= link_to reporting_admin_application_settings_path, title: _('Reporting') do
|
|
%span
|
|
= _('Reporting')
|
|
= nav_link(path: 'application_settings#metrics_and_profiling') do
|
|
= link_to metrics_and_profiling_admin_application_settings_path, title: _('Metrics and profiling'), data: { qa_selector: 'admin_settings_metrics_and_profiling_link' } do
|
|
%span
|
|
= _('Metrics and profiling')
|
|
= nav_link(path: ['application_settings#service_usage_data']) do
|
|
= link_to service_usage_data_admin_application_settings_path, title: _('Service usage data') do
|
|
%span
|
|
= _('Service usage data')
|
|
= nav_link(path: 'application_settings#network') do
|
|
= link_to network_admin_application_settings_path, title: _('Network'), data: { qa_selector: 'admin_settings_network_link' } do
|
|
%span
|
|
= _('Network')
|
|
= nav_link(controller: :appearances) do
|
|
= link_to admin_application_settings_appearances_path do
|
|
%span
|
|
= _('Appearance')
|
|
= nav_link(path: 'application_settings#preferences') do
|
|
= link_to preferences_admin_application_settings_path, title: _('Preferences'), data: { qa_selector: 'admin_settings_preferences_link' } do
|
|
%span
|
|
= _('Preferences')
|
|
|
|
= render 'shared/sidebar_toggle_button'
|