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)
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
= 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
%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