Initial import from code branched by curzonj@gmail.com
[ruby-bugtrack.git] / app / controllers / filter_controller.rb
blob0847281535c9c719c40f7904776cb751358cffad
1 class FilterController < ApplicationController
3   model :project, :priority, :filter
5   layout 'layouts/standard'
7   def list
8     @filters = Filter.find_all ['user_id = ?', logged_user.id], 'name'
9   end
11   def new
12     @projects = Project.find_all nil, 'name ASC'
13     @users = User.find_all nil, 'first_name ASC'
14     @priorities = Priority.find_all nil, 'id ASC'
15   end
17   def create
18     filter = Filter.new
19     filter.setup(params['filter'])
20     filter.user_id = logged_user.id
21     if filter.save
22       set_filter
23       redirect_to :action => 'list'
24     else
25       setup_edit filter
26       render_action 'new'
27     end
28   end
30   def edit
31     filter = find_filter
32     setup_edit filter
33   end
35   def update
36     filter = find_filter
37     filter.setup(params['filter'])
38     if filter.save
39       set_filter
40       redirect_to :action => 'list'
41     else
42       setup_edit filter
43       render_action 'edit'
44     end
45   end
47   def apply
48     filter = params['id'] == 'all' ? nil : find_filter
49     
50     user = User.find(logged_user.id)
51     user.filter = filter
52     user.save
53     
54     set_filter(user)
55     redirect_to :controller => 'bug', :action => 'list'
56   end
58   def delete
59     filter = find_filter
60     filter.destroy
61     set_filter
62     redirect_to :action => 'list'
63   end
65   private
67   def setup_edit(filter)
68     @filter = filter.filter
69     @filter_id = filter.id
70     @filter_obj = filter
71     new
72   end
73   
74   def find_filter
75     Filter.find(params['id'])
76   end
77 end