implemented cookie remember option for issue page filter

This commit is contained in:
Aleksei Kvitinskii 2011-11-07 14:12:46 +02:00
parent 1d1b5186c3
commit 3fe9f3ebe6
3 changed files with 15 additions and 5 deletions

View file

@ -1,2 +1,6 @@
module IssuesHelper module IssuesHelper
def project_issues_filter_path project, params = {}
params[:f] ||= cookies['issue_filter']
project_issues_path project, params
end
end end

View file

@ -10,16 +10,16 @@
.right.issues_filter .right.issues_filter
= form_tag project_issues_path(@project), :method => :get do = form_tag project_issues_path(@project), :method => :get do
.left .left
= radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status" = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "setIssueFilter(this.form, 0);", :id => "open_issues", :class => "status"
= label_tag "open_issues","Open" = label_tag "open_issues","Open"
.left .left
= radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status" = radio_button_tag :f, 2, params[:f] == "2", :onclick => "setIssueFilter(this.form, 2);", :id => "closed_issues", :class => "status"
= label_tag "closed_issues","Closed" = label_tag "closed_issues","Closed"
.left .left
= radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status" = radio_button_tag :f, 3, params[:f] == "3", :onclick => "setIssueFilter(this.form, 3);", :id => "my_issues", :class => "status"
= label_tag "my_issues","To Me" = label_tag "my_issues","To Me"
.left .left
= radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status" = radio_button_tag :f, 1, params[:f] == "1", :onclick => "setIssueFilter(this.form, 1);", :id => "all_issues", :class => "status"
= label_tag "all_issues","All" = label_tag "all_issues","All"
#issues-table-holder= render "issues" #issues-table-holder= render "issues"
@ -28,6 +28,12 @@
var href = $('.issue_search').parent().attr('action'); var href = $('.issue_search').parent().attr('action');
var last_terms = ''; var last_terms = '';
var setIssueFilter = function(form, value){
$.cookie('issue_filter', value, { expires: 140 });
form.submit();
}
$('.issue_search').keyup(function() { $('.issue_search').keyup(function() {
var terms = $(this).val(); var terms = $(this).val();
var project_id = $('#project_id').val(); var project_id = $('#project_id').val();

View file

@ -25,7 +25,7 @@
Team Team
- if @project.users_projects.count > 0 - if @project.users_projects.count > 0
%span{ :class => "number" }= @project.users_projects.count %span{ :class => "number" }= @project.users_projects.count
= link_to project_issues_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do
Issues Issues
- if @project.issues.opened.count > 0 - if @project.issues.opened.count > 0
%span{ :class => "number" }= @project.issues.opened.count %span{ :class => "number" }= @project.issues.opened.count