- add_to_breadcrumbs "Projects", admin_projects_path - breadcrumb_title @project.full_name - page_title @project.full_name, "Projects" - @content_class = "admin-projects" %h3.page-title Project: #{@project.full_name} = link_to edit_project_path(@project), class: "btn btn-nr float-right" do %i.fa.fa-pencil-square-o Edit %hr - if @project.last_repository_check_failed? .row .col-md-12 .card .card-header.alert.alert-danger Last repository check = "(#{time_ago_with_tooltip(@project.last_repository_check_at)})" failed. See = link_to 'repocheck.log', admin_logs_path for error messages. .row .col-md-6 .card .card-header Project info: %ul.content-list %li %span.light Name: %strong = link_to @project.name, project_path(@project) %li %span.light Namespace: %strong - if @project.namespace = link_to @project.namespace.human_name, [:admin, @project.group || @project.owner] - else Global %li %span.light Owned by: %strong - if @project.owner = link_to @project.owner_name, [:admin, @project.owner] - else (deleted) %li %span.light Created by: %strong = @project.creator.try(:name) || '(deleted)' %li %span.light Created on: %strong = @project.created_at.to_s(:medium) %li %span.light http: %strong = link_to @project.http_url_to_repo, project_path(@project) %li %span.light ssh: %strong = link_to @project.ssh_url_to_repo, project_path(@project) - if @project.repository.exists? %li %span.light Gitaly storage name: %strong = @project.repository.storage %li %span.light Gitaly relative path: %strong = @project.repository.relative_path %li = render 'shared/storage_counter_statistics', storage_size: @project.statistics&.storage_size, storage_details: @project.statistics %li %span.light last commit: %strong = last_commit(@project) %li %span.light Git LFS status: %strong = project_lfs_status(@project) = link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs') - else %li %span.light repository: %strong.cred does not exist - if @project.archived? %li %span.light archived: %strong project is read-only = render_if_exists "shared_runner_status", project: @project %li %span.light access: %strong %span{ class: visibility_level_color(@project.visibility_level) } = visibility_level_icon(@project.visibility_level) = visibility_level_label(@project.visibility_level) = render_if_exists 'admin/projects/geo_status_widget', locals: { project: @project } .card .card-header Transfer project .card-body = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f| .form-group.row .col-sm-3.col-form-label = f.label :new_namespace_id, "Namespace" .col-sm-9 .dropdown = dropdown_toggle('Search for Namespace', { toggle: 'dropdown', field_name: 'new_namespace_id' }, { toggle_class: 'js-namespace-select large' }) .dropdown-menu.dropdown-select = dropdown_title('Namespaces') = dropdown_filter("Search for Namespace") = dropdown_content = dropdown_loading .form-group.row .offset-sm-3.col-sm-9 = f.submit 'Transfer', class: 'btn btn-primary' .card.repository-check .card-header Repository check .card-body = form_for @project, url: repository_check_admin_project_path(@project), method: :post do |f| .form-group - if @project.last_repository_check_at.nil? This repository has never been checked. - else This repository was last checked = @project.last_repository_check_at.to_s(:medium) + '.' The check - if @project.last_repository_check_failed? = succeed '.' do %strong.cred failed See = link_to 'repocheck.log', admin_logs_path for error messages. - else passed. = link_to icon('question-circle'), help_page_path('administration/repository_checks') .form-group = f.submit 'Trigger repository check', class: 'btn btn-primary' .col-md-6 - if @group .card .card-header %strong= @group.name group members %span.badge.badge-pill= @group_members.size .float-right = link_to admin_group_path(@group), class: 'btn btn-sm' do = icon('pencil-square-o', text: 'Manage access') %ul.content-list.members-list = render partial: 'shared/members/member', collection: @group_members, as: :member, locals: { show_controls: false } .card-footer = paginate @group_members, param_name: 'group_members_page', theme: 'gitlab' = render 'shared/members/requests', membership_source: @project, requesters: @requesters, force_mobile_view: true .card .card-header %strong= @project.name project members %span.badge.badge-pill= @project.users.size .float-right = link_to icon('pencil-square-o', text: 'Manage access'), project_project_members_path(@project), class: "btn btn-sm" %ul.content-list.project_members.members-list = render partial: 'shared/members/member', collection: @project_members, as: :member, locals: { show_controls: false } .card-footer = paginate @project_members, param_name: 'project_members_page', theme: 'gitlab'