diff options
| -rw-r--r-- | app/controllers/concerns/issuable_collections.rb | 12 | ||||
| -rw-r--r-- | app/controllers/concerns/issues_action.rb | 2 | ||||
| -rw-r--r-- | app/controllers/concerns/merge_requests_action.rb | 2 | ||||
| -rw-r--r-- | app/controllers/projects/issues_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 2 | ||||
| -rw-r--r-- | app/helpers/application_helper.rb | 17 | ||||
| -rw-r--r-- | app/views/shared/issuable/_nav.html.haml | 12 | ||||
| -rw-r--r-- | spec/features/dashboard_issues_spec.rb | 9 | ||||
| -rw-r--r-- | spec/features/issues/filter_issues_spec.rb | 32 | 
9 files changed, 18 insertions, 72 deletions
| diff --git a/app/controllers/concerns/issuable_collections.rb b/app/controllers/concerns/issuable_collections.rb index 4a447735fa7..b5e79099e39 100644 --- a/app/controllers/concerns/issuable_collections.rb +++ b/app/controllers/concerns/issuable_collections.rb @@ -13,18 +13,10 @@ module IssuableCollections      issues_finder.execute    end -  def all_issues_collection -    IssuesFinder.new(current_user, filter_params_all).execute -  end -    def merge_requests_collection      merge_requests_finder.execute    end -  def all_merge_requests_collection -    MergeRequestsFinder.new(current_user, filter_params_all).execute -  end -    def issues_finder      @issues_finder ||= issuable_finder_for(IssuesFinder)    end @@ -62,10 +54,6 @@ module IssuableCollections      @filter_params    end -  def filter_params_all -    @filter_params_all ||= filter_params.merge(state: 'all', sort: nil) -  end -    def set_default_scope      params[:scope] = 'all' if params[:scope].blank?    end diff --git a/app/controllers/concerns/issues_action.rb b/app/controllers/concerns/issues_action.rb index eced9d9d678..b89fb94be6e 100644 --- a/app/controllers/concerns/issues_action.rb +++ b/app/controllers/concerns/issues_action.rb @@ -10,8 +10,6 @@ module IssuesAction                .preload(:author, :project)                .page(params[:page]) -    @all_issues = all_issues_collection.non_archived -      respond_to do |format|        format.html        format.atom { render layout: false } diff --git a/app/controllers/concerns/merge_requests_action.rb b/app/controllers/concerns/merge_requests_action.rb index 729763169e2..a1b0eee37f9 100644 --- a/app/controllers/concerns/merge_requests_action.rb +++ b/app/controllers/concerns/merge_requests_action.rb @@ -9,7 +9,5 @@ module MergeRequestsAction                        .non_archived                        .preload(:author, :target_project)                        .page(params[:page]) - -    @all_merge_requests = all_merge_requests_collection.non_archived    end  end diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 19b8b1576c4..3eb13a121bf 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -28,8 +28,6 @@ class Projects::IssuesController < Projects::ApplicationController      @labels = @project.labels.where(title: params[:label_name]) -    @all_issues = all_issues_collection -      respond_to do |format|        format.html        format.atom { render layout: false } diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index e972376df4c..935417d4ae8 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -37,8 +37,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController      @labels = @project.labels.where(title: params[:label_name]) -    @all_merge_requests = all_merge_requests_collection -      respond_to do |format|        format.html        format.json do diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ed41bf04fc0..1df430e6279 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -280,14 +280,23 @@ module ApplicationHelper      end    end -  def state_filters_text_for(state, records) +  def state_filters_text_for(entity, project)      titles = {        opened: "Open"      } -    state_title = titles[state] || state.to_s.humanize -    count       = records.public_send(state).size -    html        = content_tag :span, state_title +    entity_title = titles[entity] || entity.to_s.humanize + +    count = +      if project.nil? +        nil +      elsif current_controller?(:issues) +        project.issues.visible_to_user(current_user).send(entity).count +      elsif current_controller?(:merge_requests) +        project.merge_requests.send(entity).count +      end + +    html = content_tag :span, entity_title      if count.present?        html += " " diff --git a/app/views/shared/issuable/_nav.html.haml b/app/views/shared/issuable/_nav.html.haml index fb592c2b1e2..1d9b09a5ef1 100644 --- a/app/views/shared/issuable/_nav.html.haml +++ b/app/views/shared/issuable/_nav.html.haml @@ -1,27 +1,25 @@  %ul.nav-links.issues-state-filters    - if defined?(type) && type == :merge_requests      - page_context_word = 'merge requests' -    - records = @all_merge_requests    - else      - page_context_word = 'issues' -    - records = @all_issues    %li{class: ("active" if params[:state] == 'opened')}      = link_to page_filter_path(state: 'opened', label: true), title: "Filter by #{page_context_word} that are currently opened." do -      #{state_filters_text_for(:opened, records)} +      #{state_filters_text_for(:opened, @project)}    - if defined?(type) && type == :merge_requests      %li{class: ("active" if params[:state] == 'merged')}        = link_to page_filter_path(state: 'merged', label: true), title: 'Filter by merge requests that are currently merged.' do -        #{state_filters_text_for(:merged, records)} +        #{state_filters_text_for(:merged, @project)}      %li{class: ("active" if params[:state] == 'closed')}        = link_to page_filter_path(state: 'closed', label: true), title: 'Filter by merge requests that are currently closed and unmerged.' do -        #{state_filters_text_for(:closed, records)} +        #{state_filters_text_for(:closed, @project)}    - else      %li{class: ("active" if params[:state] == 'closed')}        = link_to page_filter_path(state: 'closed', label: true), title: 'Filter by issues that are currently closed.' do -        #{state_filters_text_for(:closed, records)} +        #{state_filters_text_for(:closed, @project)}    %li{class: ("active" if params[:state] == 'all')}      = link_to page_filter_path(state: 'all', label: true), title: "Show all #{page_context_word}." do -      #{state_filters_text_for(:all, records)} +      #{state_filters_text_for(:all, @project)} diff --git a/spec/features/dashboard_issues_spec.rb b/spec/features/dashboard_issues_spec.rb index fc914022a59..3fb1cb37544 100644 --- a/spec/features/dashboard_issues_spec.rb +++ b/spec/features/dashboard_issues_spec.rb @@ -21,9 +21,6 @@ describe "Dashboard Issues filtering", feature: true, js: true do        click_link 'No Milestone' -      page.within '.issues-state-filters' do -        expect(page).to have_selector('.active .badge', text: '1') -      end        expect(page).to have_selector('.issue', count: 1)      end @@ -32,9 +29,6 @@ describe "Dashboard Issues filtering", feature: true, js: true do        click_link 'Any Milestone' -      page.within '.issues-state-filters' do -        expect(page).to have_selector('.active .badge', text: '2') -      end        expect(page).to have_selector('.issue', count: 2)      end @@ -45,9 +39,6 @@ describe "Dashboard Issues filtering", feature: true, js: true do          click_link milestone.title        end -      page.within '.issues-state-filters' do -        expect(page).to have_selector('.active .badge', text: '1') -      end        expect(page).to have_selector('.issue', count: 1)      end    end diff --git a/spec/features/issues/filter_issues_spec.rb b/spec/features/issues/filter_issues_spec.rb index 72f39e2fbca..d1501c9791a 100644 --- a/spec/features/issues/filter_issues_spec.rb +++ b/spec/features/issues/filter_issues_spec.rb @@ -230,10 +230,6 @@ describe 'Filter issues', feature: true do            expect(page).to have_selector('.issue', count: 2)          end -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '2') -        end -          click_button 'Label'          page.within '.labels-filter' do            click_link 'bug' @@ -243,10 +239,6 @@ describe 'Filter issues', feature: true do          page.within '.issues-list' do            expect(page).to have_selector('.issue', count: 1)          end - -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '1') -        end        end        it 'filters by text and milestone' do @@ -256,10 +248,6 @@ describe 'Filter issues', feature: true do            expect(page).to have_selector('.issue', count: 2)          end -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '2') -        end -          click_button 'Milestone'          page.within '.milestone-filter' do            click_link '8' @@ -268,10 +256,6 @@ describe 'Filter issues', feature: true do          page.within '.issues-list' do            expect(page).to have_selector('.issue', count: 1)          end - -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '1') -        end        end        it 'filters by text and assignee' do @@ -281,10 +265,6 @@ describe 'Filter issues', feature: true do            expect(page).to have_selector('.issue', count: 2)          end -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '2') -        end -          click_button 'Assignee'          page.within '.dropdown-menu-assignee' do            click_link user.name @@ -293,10 +273,6 @@ describe 'Filter issues', feature: true do          page.within '.issues-list' do            expect(page).to have_selector('.issue', count: 1)          end - -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '1') -        end        end        it 'filters by text and author' do @@ -306,10 +282,6 @@ describe 'Filter issues', feature: true do            expect(page).to have_selector('.issue', count: 2)          end -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '2') -        end -          click_button 'Author'          page.within '.dropdown-menu-author' do            click_link user.name @@ -318,10 +290,6 @@ describe 'Filter issues', feature: true do          page.within '.issues-list' do            expect(page).to have_selector('.issue', count: 1)          end - -        page.within '.issues-state-filters' do -          expect(page).to have_selector('.active .badge', text: '1') -        end        end      end    end | 
