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 | 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 | 12 | end | ... | ... |
app/views/issues/index.html.haml
... | ... | @@ -13,16 +13,16 @@ |
13 | 13 | .right.issues_filter |
14 | 14 | = form_tag project_issues_path(@project), :method => :get do |
15 | 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 | 17 | = label_tag "open_issues","Open" |
18 | 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 | 20 | = label_tag "closed_issues","Closed" |
21 | 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 | 23 | = label_tag "my_issues","To Me" |
24 | 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 | 26 | = label_tag "all_issues","All" |
27 | 27 | |
28 | 28 | = render "issues" |
... | ... | @@ -31,6 +31,12 @@ |
31 | 31 | var href = $('.issue_search').parent().attr('action'); |
32 | 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 | 40 | $('.issue_search').keyup(function() { |
35 | 41 | var terms = $(this).val(); |
36 | 42 | var project_id = $('#project_id').val(); | ... | ... |
app/views/layouts/project.html.haml
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | Team |
26 | 26 | - if @project.users_projects.count > 0 |
27 | 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 | 29 | Issues |
30 | 30 | - if @project.issues.opened.count > 0 |
31 | 31 | %span{ :class => "number" }= @project.issues.opened.count | ... | ... |