Commit 3fe9f3ebe6b89489fb5a022cb8afe6f63d33b529

Authored by Aleksei Kvitinskii
1 parent 1d1b5186

implemented cookie remember option for issue page filter

app/helpers/issues_helper.rb
1 1 module IssuesHelper
  2 + def project_issues_filter_path project, params = {}
  3 + params[:f] ||= cookies['issue_filter']
  4 + project_issues_path project, params
  5 + end
2 6 end
... ...
app/views/issues/index.html.haml
... ... @@ -10,16 +10,16 @@
10 10 .right.issues_filter
11 11 = form_tag project_issues_path(@project), :method => :get do
12 12 .left
13   - = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status"
  13 + = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "setIssueFilter(this.form, 0);", :id => "open_issues", :class => "status"
14 14 = label_tag "open_issues","Open"
15 15 .left
16   - = radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status"
  16 + = radio_button_tag :f, 2, params[:f] == "2", :onclick => "setIssueFilter(this.form, 2);", :id => "closed_issues", :class => "status"
17 17 = label_tag "closed_issues","Closed"
18 18 .left
19   - = radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status"
  19 + = radio_button_tag :f, 3, params[:f] == "3", :onclick => "setIssueFilter(this.form, 3);", :id => "my_issues", :class => "status"
20 20 = label_tag "my_issues","To Me"
21 21 .left
22   - = radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status"
  22 + = radio_button_tag :f, 1, params[:f] == "1", :onclick => "setIssueFilter(this.form, 1);", :id => "all_issues", :class => "status"
23 23 = label_tag "all_issues","All"
24 24  
25 25 #issues-table-holder= render "issues"
... ... @@ -28,6 +28,12 @@
28 28 var href = $('.issue_search').parent().attr('action');
29 29 var last_terms = '';
30 30  
  31 +
  32 + var setIssueFilter = function(form, value){
  33 + $.cookie('issue_filter', value, { expires: 140 });
  34 + form.submit();
  35 + }
  36 +
31 37 $('.issue_search').keyup(function() {
32 38 var terms = $(this).val();
33 39 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
... ...