Commit 5b1634cd4b1bdd29b6bdd2141cd24b6dffc2fb3e
Exists in
master
and in
4 other branches
implemented cookie remember option for issue page filter
Showing
3 changed files
with
21 additions
and
10 deletions
Show diff stats
app/helpers/issues_helper.rb
1 | module IssuesHelper | 1 | module IssuesHelper |
2 | - def sort_class | ||
3 | - if can?(current_user, :admin_issue, @project) && (!params[:f] || params[:f] == "0") | ||
4 | - "handle" | ||
5 | - end | ||
6 | - end | 2 | + def sort_class |
3 | + if can?(current_user, :admin_issue, @project) && (!params[:f] || params[:f] == "0") | ||
4 | + "handle" | ||
5 | + end | ||
6 | + end | ||
7 | + | ||
8 | + def project_issues_filter_path project, params = {} | ||
9 | + params[:f] ||= cookies['issue_filter'] | ||
10 | + project_issues_path project, params | ||
11 | + end | ||
7 | end | 12 | end |
app/views/issues/index.html.haml
@@ -13,16 +13,16 @@ | @@ -13,16 +13,16 @@ | ||
13 | .right.issues_filter | 13 | .right.issues_filter |
14 | = form_tag project_issues_path(@project), :method => :get do | 14 | = form_tag project_issues_path(@project), :method => :get do |
15 | .left | 15 | .left |
16 | - = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status" | 16 | + = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "setIssueFilter(this.form, 0)", :id => "open_issues", :class => "status" |
17 | = label_tag "open_issues","Open" | 17 | = label_tag "open_issues","Open" |
18 | .left | 18 | .left |
19 | - = radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status" | 19 | + = radio_button_tag :f, 2, params[:f] == "2", :onclick => "setIssueFilter(this.form, 2)", :id => "closed_issues", :class => "status" |
20 | = label_tag "closed_issues","Closed" | 20 | = label_tag "closed_issues","Closed" |
21 | .left | 21 | .left |
22 | - = radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status" | 22 | + = radio_button_tag :f, 3, params[:f] == "3", :onclick => "setIssueFilter(this.form, 3)", :id => "my_issues", :class => "status" |
23 | = label_tag "my_issues","To Me" | 23 | = label_tag "my_issues","To Me" |
24 | .left | 24 | .left |
25 | - = radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status" | 25 | + = radio_button_tag :f, 1, params[:f] == "1", :onclick => "setIssueFilter(this.form, 1)", :id => "all_issues", :class => "status" |
26 | = label_tag "all_issues","All" | 26 | = label_tag "all_issues","All" |
27 | 27 | ||
28 | = render "issues" | 28 | = render "issues" |
@@ -31,6 +31,12 @@ | @@ -31,6 +31,12 @@ | ||
31 | var href = $('.issue_search').parent().attr('action'); | 31 | var href = $('.issue_search').parent().attr('action'); |
32 | var last_terms = ''; | 32 | var last_terms = ''; |
33 | 33 | ||
34 | + | ||
35 | + var setIssueFilter = function(form, value){ | ||
36 | + $.cookie('issue_filter', value, { expires: 140 }); | ||
37 | + form.submit(); | ||
38 | + } | ||
39 | + | ||
34 | $('.issue_search').keyup(function() { | 40 | $('.issue_search').keyup(function() { |
35 | var terms = $(this).val(); | 41 | var terms = $(this).val(); |
36 | var project_id = $('#project_id').val(); | 42 | var project_id = $('#project_id').val(); |
app/views/layouts/project.html.haml
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | Team | 25 | Team |
26 | - if @project.users_projects.count > 0 | 26 | - if @project.users_projects.count > 0 |
27 | %span{ :class => "number" }= @project.users_projects.count | 27 | %span{ :class => "number" }= @project.users_projects.count |
28 | - = link_to project_issues_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do | 28 | + = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do |
29 | Issues | 29 | Issues |
30 | - if @project.issues.opened.count > 0 | 30 | - if @project.issues.opened.count > 0 |
31 | %span{ :class => "number" }= @project.issues.opened.count | 31 | %span{ :class => "number" }= @project.issues.opened.count |