diff --git a/app/helpers/dashboard_helper.rb b/app/helpers/dashboard_helper.rb index 540a73ef..0baa5b41 100644 --- a/app/helpers/dashboard_helper.rb +++ b/app/helpers/dashboard_helper.rb @@ -1,5 +1,12 @@ module DashboardHelper def dashboard_filter_path(entity, options={}) + exist_opts = { + status: params[:status], + project_id: params[:project_id], + } + + options = exist_opts.merge(options) + case entity when 'issue' then dashboard_issues_path(options) @@ -9,6 +16,17 @@ module DashboardHelper end def entities_per_project project, entity - project.items_for(entity).where(assignee_id: current_user.id).count + items = project.items_for(entity) + + items = case params[:status] + when 'closed' + items.closed + when 'all' + items + else + items.opened + end + + items.where(assignee_id: current_user.id).count end end diff --git a/app/views/dashboard/_filter.html.haml b/app/views/dashboard/_filter.html.haml index fc00ca72..4624af79 100644 --- a/app/views/dashboard/_filter.html.haml +++ b/app/views/dashboard/_filter.html.haml @@ -1,6 +1,6 @@ = form_tag dashboard_filter_path(entity), method: 'get' do %fieldset.dashboard-search-filter - = search_field_tag "search", nil, { placeholder: 'Search', class: 'search-text-input' } + = search_field_tag "search", params[:search], { placeholder: 'Search', class: 'search-text-input' } = button_tag type: 'submit', class: 'btn' do %i.icon-search @@ -8,7 +8,7 @@ %legend Status: %ul.nav.nav-pills.nav-stacked %li{class: ("active" if !params[:status])} - = link_to dashboard_filter_path(entity) do + = link_to dashboard_filter_path(entity, status: nil) do Open %li{class: ("active" if params[:status] == 'closed')} = link_to dashboard_filter_path(entity, status: 'closed') do