From 668a5b9fe1712ba082e4b0ba6d6bf54bc5691a49 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Wed, 15 Mar 2017 14:38:47 +0800 Subject: [PATCH 1/2] Fix projects without repo and wiki When repo and wiki are disabled for a project, we're showing issues so we'll need to set @issuable_meta_data otherwise it would be giving nil errors. See: https://sentry.gitlap.com/gitlab/staginggitlabcom/issues/23106/ --- app/controllers/projects_controller.rb | 5 +++-- spec/controllers/projects_controller_spec.rb | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 3e2015b7d5e..16e702073b2 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -267,8 +267,9 @@ class ProjectsController < Projects::ApplicationController @project_wiki = @project.wiki @wiki_home = @project_wiki.find_page('home', params[:version_id]) elsif @project.feature_available?(:issues, current_user) - @issues = issues_collection - @issues = @issues.page(params[:page]) + @issues = issues_collection.page(params[:page]) + @collection_type = 'Issue' + @issuable_meta_data = issuable_meta_data(@issues, @collection_type) end render :show diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index a1ec41322ad..a52d61b2357 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -78,6 +78,7 @@ describe ProjectsController do it 'shows issues list page if wiki is disabled' do project.project_feature.update_attribute(:wiki_access_level, ProjectFeature::DISABLED) + create(:issue, project: project) get :show, namespace_id: project.namespace, id: project From 08d3a40c3191add17ce3546f70fda449d367d3cb Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Thu, 16 Mar 2017 14:46:12 +0800 Subject: [PATCH 2/2] Expect @issuable_meta_data to be set, feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9956#note_25445832 --- spec/controllers/projects_controller_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index a52d61b2357..a88ffc1ea6a 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -83,6 +83,7 @@ describe ProjectsController do get :show, namespace_id: project.namespace, id: project expect(response).to render_template('projects/issues/_issues') + expect(assigns(:issuable_meta_data)).not_to be_nil end it 'shows customize workflow page if wiki and issues are disabled' do