Class: WillFilter::FilterController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/will_filter/filter_controller.rb

Instance Method Summary collapse

Instance Method Details

#add_conditionObject



53
54
55
56
57
58
59
60
61
62
# File 'app/controllers/will_filter/filter_controller.rb', line 53

def add_condition
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  index = params[:after_index].to_i
  if index == -1
    wf_filter.add_default_condition_at(wf_filter.size)
  else
    wf_filter.add_default_condition_at(params[:after_index].to_i + 1)
  end
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#delete_filterObject



109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'app/controllers/will_filter/filter_controller.rb', line 109

def delete_filter
  raise WillFilter::FilterException.new("Delete functions are disabled") unless  WillFilter::Config.saving_enabled?

  wf_filter = WillFilter::Filter.find_by_id(params[:wf_id])
  wf_filter.destroy if wf_filter
  
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  wf_filter.id=nil
  wf_filter.key=nil
  wf_filter.remove_all
  
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#indexObject



36
37
38
# File 'app/controllers/will_filter/filter_controller.rb', line 36

def index
  @filters = WillFilter::Filter.new(WillFilter::Filter).deserialize_from_params(params.permit!).results
end

#load_filterObject



70
71
72
73
74
# File 'app/controllers/will_filter/filter_controller.rb', line 70

def load_filter
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  wf_filter = wf_filter.load_filter!(params[:wf_key])
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#remove_all_conditionsObject



64
65
66
67
68
# File 'app/controllers/will_filter/filter_controller.rb', line 64

def remove_all_conditions
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  wf_filter.remove_all
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#remove_conditionObject



47
48
49
50
51
# File 'app/controllers/will_filter/filter_controller.rb', line 47

def remove_condition
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  wf_filter.remove_condition_at(params[:at_index].to_i)
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#save_filterObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'app/controllers/will_filter/filter_controller.rb', line 76

def save_filter
  raise WillFilter::FilterException.new("Saving functions are disabled") unless  WillFilter::Config.saving_enabled?

  params.delete(:wf_id)
  
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  wf_filter.validate!

  unless wf_filter.errors?
    wf_filter.save
  end
  
  wf_filter.key= wf_filter.id.to_s 
  
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#update_conditionObject



40
41
42
43
44
45
# File 'app/controllers/will_filter/filter_controller.rb', line 40

def update_condition
  wf_filter = WillFilter::Filter.deserialize_from_params(params.permit!)
  condition = wf_filter.condition_at(params[:at_index].to_i)
  condition.container.reset_values
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end

#update_filterObject



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'app/controllers/will_filter/filter_controller.rb', line 93

def update_filter
  raise WillFilter::FilterException.new("Update functions are disabled") unless  WillFilter::Config.saving_enabled?

  wf_filter = WillFilter::Filter.find_by_id(params.delete(:wf_id))
  wf_filter.deserialize_from_params(params.permit!)
  wf_filter.validate!
  
  unless wf_filter.errors?
    wf_filter.save
  end
  
  wf_filter.key= wf_filter.id.to_s 
  
  render(:partial => '/will_filter/filter/conditions', :layout=>false, :locals => {:wf_filter => wf_filter})
end