- breadcrumb_title _("Dashboard") - page_title _("Dashboard") - billable_users_url = help_page_path('subscriptions/self_managed/index', anchor: 'billable-users') - billable_users_link_start = ''.html_safe % { url: billable_users_url } - if @notices - @notices.each do |notice| .js-vue-alert{ 'v-cloak': true, data: { variant: notice[:type], dismissible: true.to_s } } = notice[:message].html_safe - if @license.present? .license-panel.gl-mt-5 = render_if_exists 'admin/licenses/summary' = render_if_exists 'admin/licenses/breakdown' .admin-dashboard.gl-mt-3 .row .col-sm-4 .info-well.dark-well.flex-fill .well-segment.well-centered = link_to admin_projects_path do %h3.text-center = s_('AdminArea|Projects: %{number_of_projects}') % { number_of_projects: approximate_count_with_delimiters(@counts, Project) } %hr = link_to(s_('AdminArea|New project'), new_project_path, class: "btn gl-button btn-success gl-w-full") .col-sm-4 .info-well.dark-well .well-segment.well-centered.gl-text-center = link_to admin_users_path do %h3.gl-display-inline-block.gl-mb-0 = s_('AdminArea|Users: %{number_of_users}') % { number_of_users: approximate_count_with_delimiters(@counts, User) } %span.gl-outline-0.gl-ml-2{ href: "#", tabindex: "0", data: { container: "body", toggle: "popover", placement: "top", html: "true", trigger: "focus", content: s_("AdminArea|All users created in the instance, including users who are not %{billable_users_link_start}billable users%{billable_users_link_end}.").html_safe % { billable_users_link_start: billable_users_link_start, billable_users_link_end: ''.html_safe }, } } = sprite_icon('question', size: 16, css_class: 'gl-text-gray-700 gl-mb-1') %hr .btn-group.d-flex{ role: 'group' } = link_to s_('AdminArea|New user'), new_admin_user_path, class: "btn gl-button btn-success gl-w-full" = link_to s_('AdminArea|Users statistics'), admin_dashboard_stats_path, class: 'btn gl-button btn-info gl-w-full' .col-sm-4 .info-well.dark-well .well-segment.well-centered = link_to admin_groups_path do %h3.text-center = s_('AdminArea|Groups: %{number_of_groups}') % { number_of_groups: approximate_count_with_delimiters(@counts, Group) } %hr = link_to s_('AdminArea|New group'), new_admin_group_path, class: "btn gl-button btn-success gl-w-full" .row .col-md-4 #js-admin-statistics-container .col-md-4 .info-well .well-segment.admin-well.admin-well-features %h4= s_('AdminArea|Features') = feature_entry(_('Sign up'), href: general_admin_application_settings_path(anchor: 'js-signup-settings'), enabled: allow_signup?) = feature_entry(_('LDAP'), enabled: Gitlab.config.ldap.enabled, doc_href: help_page_path('administration/auth/ldap/index.md')) = feature_entry(_('Gravatar'), href: general_admin_application_settings_path(anchor: 'js-account-settings'), enabled: gravatar_enabled?) = feature_entry(_('OmniAuth'), href: general_admin_application_settings_path(anchor: 'js-signin-settings'), enabled: Gitlab::Auth.omniauth_enabled?, doc_href: help_page_path('integration/omniauth')) = feature_entry(_('Reply by email'), enabled: Gitlab::IncomingEmail.enabled?, doc_href: help_page_path('administration/reply_by_email')) = render_if_exists 'admin/dashboard/elastic_and_geo' = feature_entry(_('Container Registry'), href: ci_cd_admin_application_settings_path(anchor: 'js-registry-settings'), enabled: Gitlab.config.registry.enabled, doc_href: help_page_path('user/packages/container_registry/index')) = feature_entry(_('Gitlab Pages'), enabled: Gitlab.config.pages.enabled, doc_href: help_instance_configuration_url) = feature_entry(_('Shared Runners'), href: admin_runners_path, enabled: Gitlab.config.gitlab_ci.shared_runners_enabled) .col-md-4 .info-well .well-segment.admin-well %h4 = s_('AdminArea|Components') - if Gitlab::CurrentSettings.version_check_enabled .float-right = version_status_badge %p = link_to _('GitLab'), general_admin_application_settings_path %span.float-right = Gitlab::VERSION = "(#{Gitlab.revision})" %p = _('GitLab Shell') %span.float-right = Gitlab::Shell.version %p = _('GitLab Workhorse') %span.float-right = gitlab_workhorse_version %p = _('GitLab API') %span.float-right = API::API::version - if Gitlab.config.pages.enabled %p = _('GitLab Pages') %span.float-right = Gitlab::Pages::VERSION = render_if_exists 'admin/dashboard/geo' %p = _('Ruby') %span.float-right #{RUBY_VERSION}p#{RUBY_PATCHLEVEL} %p = _('Rails') %span.float-right #{Rails::VERSION::STRING} %p = Gitlab::Database.human_adapter_name %span.float-right = Gitlab::Database.version %p = _('Redis') %span.float-right = @redis_versions&.join(", ") %p = link_to _("Gitaly Servers"), admin_gitaly_servers_path .row .col-md-4 .info-well .well-segment.admin-well %h4= s_('AdminArea|Latest projects') - @projects.each do |project| %p = link_to project.full_name, admin_project_path(project), class: 'str-truncated-60' %span.light.float-right #{time_ago_with_tooltip(project.created_at)} .col-md-4 .info-well .well-segment.admin-well %h4= s_('AdminArea|Latest users') - @users.each do |user| %p = link_to [:admin, user], class: 'str-truncated-60' do = user.name %span.light.float-right #{time_ago_with_tooltip(user.created_at)} .col-md-4 .info-well .well-segment.admin-well %h4= s_('AdminArea|Latest groups') - @groups.each do |group| %p = link_to [:admin, group], class: 'str-truncated-60' do = group.full_name %span.light.float-right #{time_ago_with_tooltip(group.created_at)}