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 |