Archived projects with a corrupt repo don't show up in `/admin/projects?last_repository_check_failed=1` view
This was originally reported by @pnu at https://gitlab.com/gitlab-org/gitlab-ce/issues/25436#note_31591677.
Summary
When an archived project is corrupt, it's shown in the /admin/projects?last_repository_check_failed=1
view.
The email says there is a corrupt repo:
After clicking the link, however, the admin panel shows no affected project:
Steps to reproduce
- Corrupt an archived repo
- Visit
/admin/projects?last_repository_check_failed=1
What is the current bug behavior?
Corrupt repo for an archived project doesn't show up at /admin/projects?last_repository_check_failed=1
.
What is the expected correct behavior?
Corrupt repo for an archived project should show up at /admin/projects?last_repository_check_failed=1
.
Possible fixes
We could include archived projects when the last_repository_check_failed
param is present:
diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb
index a1975c0e34..22a8d9edb7 100644
--- a/app/controllers/admin/projects_controller.rb
+++ b/app/controllers/admin/projects_controller.rb
@@ -10,7 +10,7 @@ class Admin::ProjectsController < Admin::ApplicationController
@projects = @projects.with_push if params[:with_push].present?
@projects = @projects.abandoned if params[:abandoned].present?
@projects = @projects.where(last_repository_check_failed: true) if params[:last_repository_check_failed].present?
- @projects = @projects.non_archived unless params[:archived].present?
+ @projects = @projects.non_archived unless params[:archived].present? || params[:last_repository_check_failed].present?
@projects = @projects.personal(current_user) if params[:personal].present?
@projects = @projects.search(params[:name]) if params[:name].present?
@projects = @projects.sort(@sort = params[:sort])